<ul id="thiselement">
<li>test</li>
<li>timer</li>
<li>check</li>
<li>ramramesh</li>
<li>ramesh</li>
</ul>
document.write($("#thiselement li:not(:contains('ramesh'))").text());
testtimercheckramramesh
testtimercheck
我怎样才能做到这一点?我知道contains
将返回找到文本的位置,但我只需要精确的文本选择器,因为我想将每个函数与结果一起使用
$("#thiselement li:not(:contains('ramesh'))").each(function(){});
答案 0 :(得分:5)
var names = $('ul li').map(function() {
if ( $(this).text() !== 'ramesh' ) return $(this).text();
}).get().join();
答案 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;}