我有以下幾點:jquery正確的鏈接?
$("#modal-controls").html(html)
.find("#pic_caption").val(data.pic_caption)
.find("#pic_desc").val(data.pic_desc);
基本上,我改變的東西HTML,搜索輸入和改變它們的值。 它改變了第一個,但沒有繼續改變第二個輸入,我將如何着手使用鏈接正確編寫它?或者我必須把它分成2個不同的jQuery對象?
謝謝。
我有以下幾點:jquery正確的鏈接?
$("#modal-controls").html(html)
.find("#pic_caption").val(data.pic_caption)
.find("#pic_desc").val(data.pic_desc);
基本上,我改變的東西HTML,搜索輸入和改變它們的值。 它改變了第一個,但沒有繼續改變第二個輸入,我將如何着手使用鏈接正確編寫它?或者我必須把它分成2個不同的jQuery對象?
謝謝。
看一看jQuery.fn.end()
。您可以將其添加到鏈中以恢復到之前的一組匹配元素。
$("#modal-controls").html(html)
.find("#pic_caption").val(data.pic_caption).end() //<--
.find("#pic_desc").val(data.pic_desc);
您的問題是,因爲第一find()
地方在#pic_caption
當前鏈。使用end()
返回到以前的選擇器鏈,如
$("#modal-controls").html(html)
.find("#pic_caption").val(data.pic_caption).end()
.find("#pic_desc").val(data.pic_desc);
您選擇不通過匹配循環,它只是打了第一個。試試這個假設你有多個模式,控制...
$("#modal-controls").each(function(index){
$(this).html(html)
.find("#pic_caption").val(data.pic_caption)
.find("#pic_desc").val(data.pic_desc);
});
假設你的HTML結構是這樣的:
<div id="modal-controls">
<input type="button" id="pic_caption" value="">
<input type="button" id="pic_desc" value="">
</div>
你需要使用jQuery end()
(DOCS)到過濾器返回原來選擇的鏈接find()
:
$("#modal-controls").html(html)
.find("#pic_caption").val(data.pic_caption)
.end()
.find("#pic_desc").val(data.pic_desc);