2

次のようなドロップダウンがあります。

<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 は関数ではありません)。

これら 2 つのビットをつなぎ合わせて、必要なものを取得するにはどうすればよいですか?

4

1 に答える 1

2

もちろん、これはうまくいきません。.text()jQuery オブジェクトではなく文字列を返します。:not()(または.not()) を と共に使用し:contains()ます。

$('#cc-dropdown-0 option:not(:contains("' + tmp + '"))').text();
// or
$('#cc-dropdown-0 option').not(':contains("' + tmp + '")').text();
于 2013-03-21T04:06:53.240 に答える