1

jQuery のセレクター内で変数を動作させることができないようです。これは本当に単純ですが厄介なバグです。例については、このjsFiddleを参照してください。

以下は機能しません。

var folder_id = "folder";

$("#selects select[name='" + folder_id + "']").append('<span>Hi></span>');

マークアップ:

<div id="selects">
    <select name="folder_id">
        <option>hey</option>
    </select>

</div>​
4

5 に答える 5

2

あなたが実際に尋ねた質問に答えます(ただし、以下も参照してください):

ではなくselectでを見つけるように指示しています。しかし、あなたの名前があります。name folderfolder_idselectfolder_id

したがって、コードを次のように変更します。

//                     v----- change here
var folder_id = "folder_id";

$("#selects select[name='" + folder_id + "']").append('<span>Hi></span>');

更新されたフィドル(ただし、繰り返しますが、以下のブレークの下を参照してください)

...またはマークアップを変更します。

<div id="selects">
    <select name="folder">
        <option>hey</option>
    </select>

</div>​

更新されたフィドル


spanただし、 aを aに追加しようとしていることに注意してください。selectこれは無効なマークアップであり、機能しません。select要素に含めることはできませんspans( optionandoptgroup要素のみ)。の後に置くつもりだった場合は、次selectを使用しますafter

//                                             v--- change here
$("#selects select[name='" + folder_id + "']").after('<span>Hi></span>');
//         also note the `>` you probably don't want here ----^

別のフィドル

于 2012-05-11T16:37:10.530 に答える
1

正常に動作しますが、folder_id が間違っていたため、一致しませんでした。

修正済み: http://jsfiddle.net/trapper/yYzvL/1/

于 2012-05-11T16:37:18.770 に答える
1
var folder_id = "folder_id";

$("#selects select[name='" + folder_id + "']").append('<span>Hi</span>');

ID が正しく設定されていないことに加えて、追加されるスパンで一部の HTML が正しくありませんでした。

于 2012-05-11T16:38:23.820 に答える