我有這段代碼,我想將不同的事件處理程序附加到每個<a>
而不使用id或class。 我試過,但沒有奏效...提前將事件處理程序附加到每個li
$('#points ul li a').on('click', function(event) {
// I don't know why this selectors doesn't work
if ($(event.target).is(':eq(0)')) {
alert('0') // and do something
}
if ($(event.target).is(':eq(1)')) {
alert('1') // and do something
}
if ($(event.target).is(':eq(2)')) {
alert('2') // and do something
}
})
#points ul {
list-style: none;
font-size: 5em;
padding: 0;
margin: 0;
line-height: .5em;
}
#points ul li {
float: left;
}
#points ul li a {
text-decoration: none;
color: grey;
padding: .1em;
line-height: .1em
}
#points {
position: relative;
margin: 0 auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="points">
<ul>
<li><a href="#">.</a>
</li>
<li><a href="#">.</a>
</li>
<li><a href="#">.</a>
</li>
</ul>
</div>
<script
感謝。
所有的答案是正確的。但是,當我將代碼插入到網頁的主html中時,它並沒有工作,並且在掙扎了一段時間之後,我意識到了爲什麼:在主html內部,之前有更多的標籤,所以這個代碼例如:(例如: ('a:eq(1)')會匹配頁面中的第一個,而不是#points div中的第一個,這是真正的目標。我想知道是否有可能將#point的第一個標記在某種程度上,與在整個頁面中計數標記的數量不同,謝謝。 – oxk4r
'#points> ul> li> a:eq(0)'將會執行此操作。在'#points'裏面'ul'裏面。我的回答已經有了。檢查snipeet的例子。 – Iceman
工作!有可能做到這樣的事情嗎? num = 1; $('#points> ul> li> a:eq(「num」)')。toggleClass('color'); – oxk4r