.contains()抛出错误“Uncaught TypeError:Object [object Object]没有方法'contains'”

时间:2014-02-03 10:06:32

标签: jquery 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 */} 
它扔了:

  

未捕获TypeError:对象[object Object]没有方法'contains'

JS在这里小提琴: JS fiddle code

为什么.contains()不起作用? 接受的solution here对我不起作用......

2 个答案:

答案 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 */}