我有以下几点: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);