use*_*236 12 javascript xml jquery contains jquery-selectors
如果你查看jQuery网站上的选择器列表,可以选择有关属性的开始 - 结束和结束.还有一个:contains用于搜索文本的选择器:
alert( $("div").find("span:contains(text)").html() );
Run Code Online (Sandbox Code Playgroud)
jQuery是否有使用starts-with或ends-with搜索字符串的实现?
仅供参考:我需要搜索XML对象.
pim*_*vdb 16
据我所知,默认情况下不是默认,但您可以通过$.expr[":"]以下方式添加自己的伪选择器:http://jsfiddle.net/h6KYk/.
$.extend($.expr[":"], {
"starts-with": function(elem, i, data, set) {
var text = $.trim($(elem).text()),
term = data[3];
// first index is 0
return text.indexOf(term) === 0;
},
"ends-with": function(elem, i, data, set) {
var text = $.trim($(elem).text()),
term = data[3];
// last index is last possible
return text.lastIndexOf(term) === text.length - term.length;
}
});
Run Code Online (Sandbox Code Playgroud)
Tim*_*Tim 13
当您不想扩展jQuery时,可以使用该filter()函数创建包含功能:
$("div").find("span").filter(function () {
return $(this).text().indexOf(text) >= 0;
});
Run Code Online (Sandbox Code Playgroud)
或者使用正则表达式创建startsWith函数:
var expression = new RegExp('^' + text);
$("div").find("span").filter(function () {
return expression.test($.trim($(this).text()));
});
Run Code Online (Sandbox Code Playgroud)
endsWith函数非常相似:
var expression = new RegExp(text + '$');
$("div").find("span").filter(function () {
return expression.test($.trim($(this).text()));
});
Run Code Online (Sandbox Code Playgroud)
注意使用$.trim()因为HTML可以包含很多空格.