[英]How to select the element that has exactly the specified text
我无法通过确切的文本内容找到锚元素
HTML
<a href="javascript:void(0);">Project One</a>
<a href="javascript:void(0);">Project</a>
JS
var vInput = "Project";
alert($("a:contains('" + vInput + "')").length);
产量
2
我希望输出为1
。 有什么办法可以只将锚元素与文本Project
NOT Project One
匹配?
您可以使用filter()
函数并检查文本是否与所需的字符串匹配:
alert($('a').filter(function() { return $(this).text() == 'Project'; }).length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <a href="javascript:void(0);">Project One</a> <a href="javascript:void(0);">Project</a>
您可以使用.filter()来匹配确切的内容,因为:contains()将返回部分匹配项
var vInput = "Project"; var $as = $('a').filter(function() { return vInput == $(this).text().trim() }) alert($as.length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a href="javascript:void(0);">Project One</a> <a href="javascript:void(0);">Project</a>
使用filter
var vInput = "Project";
var anchors = $("a").filter(function() {
return $(this).text().trim() == vInput;
});
alert(anchors.length);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.