我确实有一个工作代码(包含: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 */}
它扔了:
未捕获TypeError:对象[object Object]没有方法'contains'
JS在这里小提琴: JS fiddle code
为什么.contains()不起作用? 接受的solution here对我不起作用......
答案 0 :(得分:3)
:contains
和.contains()
是两种不同的动物
:contains
将检查某个文本是否包含在选择器的内部HTML中。$.contains(container, contained)
检查给定元素(第二个参数)是否是选择器的子元素(第一个参数)。 100
不是HTML节点/ jQuery元素。 (这是暗示,Frédéric!)请参阅http://api.jquery.com/jQuery.contains/和http://api.jquery.com/contains-selector/。
答案 1 :(得分:-3)
试试这个:
if ($("#quiz_score_percent").contains('100') == true){/* execute */}