<div>
<input type="text" id="txt" /><input type="button" value="搜索" />
    </div>
    <ul id="list">
     <li>
         <a href="#" alias="aekt">阿尔卡特</a>
        </li>
        <li>
         <a href="#" alias="prkd">皮尔卡丹</a>
        </li>
        <li>
         <a href="#" alias="rsjr">乱世佳人</a>
        </li>
        <li>
         <a href="#" alias="aekf">阿尔卡飞</a>
        </li>
        <li>
         <a href="#" alias="aemt">阿尔魔投</a>
        </li>
    </ul>
    jQuery(document).ready(function() {
$("#txt").bind("keyup",function(){
var _self= this;
$("#list li a").each(function(i){
                        if($(this).attr("alias").contains(_self.value)){      //现在就是要用正则实现这个contians方法,输入的内容与别名alias的开头的字符相同就匹配。比如这里输入a就匹配到aekt、aekf、aemt,再输入em,输入的内容变成aem,则匹配到的就是aemt。
                            $(this).addClass("my_class");
                        }                 
});
});
    })

解决方案 »

  1.   

    补充:用正则实现这个contians方法,输入的内容与别名alias的开头的字符相同就匹配。比如这里输入a就匹配到aekt、aekf、aemt,再输入em,输入的内容变成aem,则匹配到的就是aemt。
      

  2.   


    if(new RegExp("^" + _self.value, "i").test($(this).attr("alias"))){
        $(this).addClass("my_class");
    }
      

  3.   

    _self.value如果为""就全匹配了~~~这样就不符合需求
      

  4.   

    这样呢?
    if(new RegExp("^" + (_self.value || "$"), "i").test($(this).attr("alias"))){
        $(this).addClass("my_class");
    }