用jQuery更改游标的CSS

时间:2015-01-25 17:35:03

标签: javascript jquery html css

我试图在default"" {&#34} a href的{​​{1}}链接上将光标的CSS更改为# ;下方链接。而且我不知道为什么这个看似简单的功能并不想工作。

一定是简单的我没有看到。我的CSS选择器是否正确?

或者是否有不同或更好的方法来使用jQuery更改CSS?如何删除menu-item-4082呢?

小提琴:http://jsfiddle.net/2nbad1gc/

功能:

href="#"

HTML

$("li#menu-item-4082 .not-click").css("cursor","default");

3 个答案:

答案 0 :(得分:5)

  

我的CSS选择器是否正确?

不,这是不正确的。它应该是:

$("li#menu-item-4082.not-click a").css("cursor","default");

您试图选择li#menu-item-4082的班级为not-click的孩子。事实上,li本身就有.not-click类。

删除$("li#menu-item-4082 .not-click")

之间的空格

作为旁注,我建议添加一个类而不是添加内联CSS。

$("li#menu-item-4082.not-click a").addClass('default-cursor');
.default-cursor {
    cursor: default;
}

..您还可以完全删除href属性:

$("li#menu-item-4082.not-click a").removeAttr('href');

如果你想完全避免使用jQuery,你也可以使用普通JS删除href属性:

单个元素:

document.querySelector('#menu-main-menu-bar .not-click a').removeAttribute('href');

多个元素:

var anchors = document.querySelectorAll('#menu-main-menu-bar .not-click a');

Array.prototype.forEach.call(anchors, function (el, i) {
    el.removeAttribute('href');
});

或者你可以避免使用JS并使用CSS:

li#menu-item-4082.not-click a {
    cursor: default;
}

答案 1 :(得分:0)

您的选择器需要修改为

$('li#menu-item-4082.not-click a').css("cursor", "default");

通常建议在将cursor设置为default的HTML元素中添加一个类,而不是像这样用jQuery直接更改CSS。

答案 2 :(得分:0)

只需使用简单的CSS

.not-click a{
cursor: default;
}

http://jsfiddle.net/2nbad1gc/14/