jQuery li找到完全相同的

时间:2013-06-07 10:38:49

标签: jquery

HTML

<ul id="thiselement">
    <li>test</li>
    <li>timer</li>
    <li>check</li>
    <li>ramramesh</li>
    <li>ramesh</li>
</ul>

的jQuery

document.write($("#thiselement li:not(:contains('ramesh'))").text());

预期结果

testtimercheckramramesh

我得到了什么

testtimercheck

我怎样才能做到这一点?我知道contains将返回找到文本的位置,但我只需要精确的文本选择器,因为我想将每个函数与结果一起使用

$("#thiselement li:not(:contains('ramesh'))").each(function(){});

JSfiddle

3 个答案:

答案 0 :(得分:5)

var names = $('ul li').map(function() {
    if ( $(this).text() !== 'ramesh' ) return $(this).text();
}).get().join();

http://jsfiddle.net/j3LKd/

答案 1 :(得分:3)

请查看http://jsfiddle.net/dntAU/2/

$('ul li').each(function(){
    var text = $(this).text()
    if ( text == 'ramesh'){
      alert(text + " is ramesh ")   
    }else{
    alert(text + " is not ramesh ");
    }
});

$('#thiselement li:contains("ramesh")').filter(
    function(){
        if( $(this).text() == 'ramesh'){
            $(this).addClass('highlight');
        }
    });

答案 2 :(得分:0)

延伸到vinothini的答案如下Jsfiddle,我仍然期待其他一些可能性

$('ul li').each(function(){
    var text = $(this).text()
    if ( text == 'ramesh'){
      alert(text + " is ramesh ")   
    }else{
    alert(text + " is not ramesh ");
    }
});

$('#thiselement li').filter(
    function(){
        if( $(this).text() != 'ramesh'){
            $(this).addClass('highlight');
        }
    });


$('#thiselement li').each(
    function(){
        if( $(this).text() != 'ramesh'){
            $(this).addClass('back');
        }
    });

CSS

.highlight {
    color: white;
}

.back{background:blue;}