我确实有一个工作代码(带有: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 */}