取消绑定某些链接,但不是所有链接

时间:2012-07-10 16:15:20

标签: javascript jquery

我正在尝试解除所有功能的链接。当我这样做时:

$('a').unbind();

完美无缺。但显然这不是我想要的 - 我只希望一个特定的链接不被任何函数操纵。所以我尝试选择具体的链接:

$('.page1->index').unbind();

但这不起作用,该功能仍在操纵链接。我也试过

 $('a.page1->index').unbind();

但这也不起作用。我觉得我的第二种方法应该有效。有什么我想念的吗?

HTML:

<a id ="page1->index" href="#play1" data-role="button" data-icon="back" data-iconpos="notext" data-transition="fade" data-direction="reverse"></a>

3 个答案:

答案 0 :(得分:2)

如果您的班级名称为page1->index,则您需要转发“>”符号,因为它在CSS个选择器中有special meaning

$('.page1-\\>index').unbind();

答案 1 :(得分:1)

使用链接的ID。 ID将是唯一的,因此您只能在jQuery选择器中获得一个元素

$('#yourLinkId').unbind();

假设你的HTML是这样的(带有ID)

<a href="somepage.aspx" id="yourLinkId">Wonderful Link</a>
<a href="somepage3.aspx" id="yourMagicLink">Magic Link</a>

答案 2 :(得分:1)

使用not selector或not方法排除不需要操作的所有锚点。

例如

$('a').not('#DontUnbindThisAnchor').unbind()

上面的代码选择了没有id'DontUnbindThisAnchor'的所有锚点并将它们解除绑定