<!DOCTYPE?html>
<html>
<head>
??<script?type="text/javascript"?src="/jquery/jquery.js"></script>
</head>
<body>
<ul>
??<li>list?<strong>item?1</strong></li>
??<li><span>list?item?2</span></li>
??<li>list?item?3</li>
</ul>
<script>
$("ul").click(function(event)?{
??var?$target?=?$(event.target);
??if?(?$target.is("li")?)?{
????$target.css("background-color",?"red");
??}
});
</script>
</body>
</html>這里的$(event.target).is('li')是什么意思 為什么相當于?e.target.nodeName.toLowerCase()=='li'這個判斷語句?
3 回答
已采納

風箏_0010
TA貢獻45條經驗 獲得超15個贊
is應該是jquery封裝好的判斷方式,首先event.target就是e.target,只是function里面的參數不一樣,這個意思是目標節點,意思就是你點擊的那個節點,e.target.nodeName是你點擊的節點的名字,e.target.nodeName.toLowerCase()是把這個節點的名字變成小寫,因為html里面也可以大寫的LI,所以這個只是為了統一名稱,e.target.nodeName.toLowerCase()=='li'就是判斷你點擊的節點是不是li節點。
$(event.target)是把你點擊的節點變成一個jquery對象,因為用$可以把DOM節點變成jquery對象,is是jquery提供的一個方法,用來判斷節點類型的,$(event.target).is('li')就是判斷點擊的節點是不是li節點,和上面那個意思一樣,只是這個是jquery實現的,上面那個是原生實現的
- 3 回答
- 1 關注
- 2337 瀏覽
添加回答
舉報
0/150
提交
取消