.contains() 抛出一个错误"Uncaught TypeError: Object [object Object] has no method 'contains' "



我确实有一个工作代码(带有:contains),但我无法让它与.contains()一起使用,我想问为什么。 .HTML:

<div id="quiz_score_percent">Your score: <em class="placeholder">100</em> %</div>
<div id="quiz_summary">
<p>quiz feedback</p>

JS(工作,不需要更改):

$(document).ready(function () {
if ($("#quiz_score_percent").has(":contains('100')").length) {
console.log("test");
$("#quiz_summary").append("<p>test text</p>");
}
});

但是有了.contains()

if ($("#quiz_score_percent").contains('100')){/* execute */} 

它抛出:

未捕获的类型错误:对象 [对象对象] 没有方法"包含"

JS在这里摆弄: JS小提琴代码

为什么 .contains() 不起作用?这里接受的解决方案对我不起作用...

:contains.contains()是两种不同的动物

  • :contains将检查某个文本是否包含在选择器的内部 HTML 中。
  • $.contains(container, contained)检查给定元素(第二个参数)是否是选择器(第一个参数)的子元素。100不是 HTML node/jQuery 元素。(谢谢你的提示,弗雷德里克!

请参阅 http://api.jquery.com/jQuery.contains/和 http://api.jquery.com/contains-selector/。

试试这个:

if ($("#quiz_score_percent").contains('100') == true){/* execute */}

最新更新