我正在尝试编写一个循环来迭代无序列表中的每个锚点,并对锚点内的图像执行操作。标记看起来像这样:
<ul>
<li><a href="#"><img src="image.png" /></a></li>
<li><a href="#"><img src="image.png" /></a></li>
<li><a href="#"><img src="image.png" /></a></li>
</ul>
任何一个锚点上的点击事件都应该触发循环。到目前为止,我有以下JS:
$("a").click(function(){
$("a").each(function(){
if (THIS IS THE CLICKED ON ANCHOR == TRUE) {
// SKIP THIS ITEM
}
else {
$("img",this).actions();
};
});
});
我认为我只需要跳过该项目的部分,如果它是点击锚点,但我不会采用不同的方法。
我正在使用jQuery 1.3.2。
谢谢!
答案 0 :(得分:6)
我认为有一种更简单的方法:
$("a").click(function() {
$("a").not(this).find('img').actions();
});
答案 1 :(得分:1)
你可以尝试:
$("a").click(function(){
var clickedItem = this;
$("a").each(function(){
if (this == clickedItem) {
// SKIP THIS ITEM
}
else {
$("img",this).actions();
};
});
});
答案 2 :(得分:0)
看起来我想通了,我只需要从点击事件中保存 this :
$("a").click(function(){
var clickedOnAnchor = this;
$("a").each(function(){
if (clickedOnAnchor == this) {
// SKIP THIS ITEM
}
else {
$("img",this).actions();
};
});
})