我对这些JQuery行感到困惑:
if ($(ui).hasClass("color1"))
$(ui).removeClass("color1").addClass("color2")
else
$(ui).removeClass("color2").addClass("color1")
this code中的。
我知道$(ui)
正在创建一个JQuery实例。我想知道是否
.hasClass
正在测试JQuery实例的整个DOM树
任何将color1
作为其类属性的一部分的元素。
另外,the docs for
removeClass没有陈述什么
removeClass
返回。他们用这段代码寓意地这样做了:
$("p").removeClass("myClass noClass").addClass("yourClass");
但我更希望明确说明removeClass()
回报。因为我的第二个问题是:removeClass返回什么以及addClass如何使用它?
答案 0 :(得分:4)
返回jQuery
个对象。请参阅removeClass
函数的文档:http://api.jquery.com/removeClass/
jQuery
对象:http://api.jquery.com/Types/#jQuery
摘自jQuery
对象的文档:
jQuery对象包含文档对象模型(DOM)的集合 已从HTML字符串创建或从中选择的元素 文献。由于jQuery方法经常使用CSS选择器来匹配 来自文档的元素,jQuery对象中的元素集是 通常称为一组“匹配元素”或“选定元素”。
答案 1 :(得分:1)
它返回您使用查询选择的元素:
$("[some query here]").removeClass("...").text("the text that must be set");
因此,添加class1
和删除class2
可以像下面这样完成:
$("query .class2")
.removeClass("class2")
.addClass("class1");
在documentation page上,您可以看到:返回:jQuery 。
答案 2 :(得分:1)