我有一组链接:
<div id="dd" class="mywrap-dropdown-2" tabindex="2">Select
<ul class="dropdowner" id="coll-filter">
<li><a href="#">Black</a></li>
<li><a href="#">White</li>
<li><a href="#">Blue</li>
</ul>
</div>
如果点击“白色”链接,则我的链接“黑色”和“蓝色”将不再可点击。
这是我所拥有但不起作用的:
$( '.dropdowner' ).on( 'click', 'li', function( e ) {
e.preventDefault();
$(".dropdowner li a").not(this).removeAttr("href")
});
答案 0 :(得分:2)
你的标记是不完整的,你有未公开的锚链接:
<li><a href="#">White </li>
<li><a href="#">Blue </li>
请注意,在您的代码this
中,li
元素不是锚链接,您应该选择锚链接而不是li
元素。
$( '.dropdowner' ).on( 'click', 'a', function( e ) {
或:
$(".dropdowner li").not(this).find('a').removeAttr("href")
答案 1 :(得分:0)
unbind()
取消绑定与该类关联的所有点击事件
$('.dropdowner').on('click', 'a', function(e) {
e.preventDefault();
if ($(this).text().indexOf('White') > -1) {
alert('Clicked Link with White..')
$('.dropdowner a').not(this).unbind();
} else {
alert('Other Links Cliked');
}
});
试试这个..当点击黑色链接时,这将删除其他链接的点击事件..