不同寻常的jQuery语法让我感到困惑。内部连接$
我看到这个jQuery代码:不同寻常的jQuery语法让我感到困惑。内部连接$,jquery,Jquery,我看到这个jQuery代码: $.ajax({ type: "POST", url: "/done", data: { id: item_id }, }).done(function(data) { if(data.status == 'done') { $("#" + data.id + " a.done").text('Not done') $("#" + data.id + " .ite
$.ajax({
type: "POST",
url: "/done",
data: { id: item_id },
}).done(function(data) {
if(data.status == 'done') {
$("#" + data.id + " a.done").text('Not done')
$("#" + data.id + " .item").wrapInner("<del>");
}
})
这是我的DOM:
<li id="4">
<span class="item">todo2</span>
<span class="pull-right">
<a href="#" class="btn done">Done</a><a href="/delete/4" class="btn btn-danger">Delete</a>
</span>
</li>
todo2
因此,我认为jQuery代码获取了一个读作#(“#4a.done”)
的元素,但它似乎从a
链接标记、li id和从a链接完成的类中获取了一大堆内容。选择DOM元素时会发生什么
$("#" + data.id + " a.done")
评估为
#4 a.done
在
4
和a.done
之间留有空格。这是在liid=“4”
下选择所有a
s,classdone
,元素的id
基本上不应该以数字开头
这是“#”+data.id+“a.done”的派生形式
是“#4 a.done”
。在#4
和a.done
之间有一个空格,表示元素具有a.done
内部元素具有id4
这是派生形式“#4 a.done”
。
#4 a.done