我正在尝试弄清楚为什么这个jQuery在Chrome和IE中正常工作,但在Firefox中不起作用。它应该做的事情(并且在Chrome和IE中确实如此)是循环遍历ul中的每个li,并查看IMG src是否会引发错误。如果是,那么就删除li。
$('ul.community-properties li').each(function() {
$('li IMG').on('error', function() {
$(this).parent().remove();
});
});
我也尝试过
$('ul.community-properties li').each(function() {
$('li IMG').error(function() {
$(this).parent().remove();
});
});
如果有更高效的方法或者能在所有浏览器中运行的方法就太好了。
这是HTML结构:
<ul class="community-properties">
<li>
<img src="{tag_community property1_value}" />
<div class="item-link"><a href="{tag_community property1 url}">View Property Details</a></div>
</li>
<li>
<img src="{tag_community property2_value}" />
<div class="item-link"><a href="{tag_community property2 url}">View Property Details</a></div>
</li>
<li>
<img src="{tag_community property3_value}" />
<div class="item-link"><a href="{tag_community property3 url}">View Property Details</a></div>
</li>
<li>
<img src="{tag_community property4_value}" />
<div class="item-link"><a href="{tag_community property4 url}">View Property Details</a></div>
</li>
</ul>
each
,事实上它内部的li IMG
选择器非常低效,因为它会每次都在 DOM 中针对每个包含图像的 li 进行目标定位。 - Rooster