jQuery - .not()不能使用.text()

时间:2013-03-21 04:02:44

标签: jquery jquery-selectors

我的下拉列表如下:

<select name="cc_dropdown[0]" id="cc-dropdown-0">
     <option value="">Select a card</option>
     <option value="0">***********1111</option>
     <option value="1" selected="selected">***********0005</option>
     <option value="-1">Use a new card</option>
</select>

我有一个看起来像这样的div:

<div id="select-cc-dropdown-0">
   <div class="selectBox" tabindex="0">
      <div class="sbContent">***********0005</div>
   </div>
</div>

我需要获取下拉列表中所有选项的集合,其中的文本与sbContent div中的文本不匹配。

这是我尝试过的:

var tmp = $('#select-cc-dropdown-0 .selectBox .sbContent').text();
$('#cc-dropdown-0 option').text().not(tmp);

var tmp会返回预期的文字(在这种情况下, * *** * 0005)。但是当我尝试在.not()之后串.text()时,我得到一个错误(TypeError:$(...)。text(...)。not not not a function)。

如何将这两个位串在一起以获得我需要的东西?

1 个答案:

答案 0 :(得分:2)

当然这不起作用。 .text()返回一个字符串,而不是jQuery对象。将:not()(或.not())与:contains()一起使用。

$('#cc-dropdown-0 option:not(:contains("' + tmp + '"))').text();
// or
$('#cc-dropdown-0 option').not(':contains("' + tmp + '")').text();