1

我对这些 JQuery 行感到困惑:

if ($(ui).hasClass("color1"))
    $(ui).removeClass("color1").addClass("color2")
else
    $(ui).removeClass("color2").addClass("color1")

这段代码中。

我知道这$(ui)是创建一个 JQuery 实例。我想知道是否 .hasClass正在测试 JQuery 实例的整个 DOM 树中是否有任何元素color1作为其类属性的一部分。

此外,removeClass 的文档没有说明 removeClass返回的内容。他们用这段代码寓言地这样做:

$("p").removeClass("myClass noClass").addClass("yourClass");

但我更愿意明确说明removeClass() 返回的内容。因为我的第二个问题是:removeClass 返回的是什么,addClass 如何使用它?

4

3 回答 3

4

它返回jQuery对象。查看removeClass函数的文档:http: //api.jquery.com/removeClass/

jQuery对象:http ://api.jquery.com/Types/#jQuery

摘自该jQuery对象的文档:

jQuery 对象包含文档对象模型 (DOM) 元素的集合,这些元素是从 HTML 字符串创建的或从文档中选择的。由于 jQuery 方法经常使用 CSS 选择器来匹配文档中的元素,因此 jQuery 对象中的元素集通常称为“匹配元素”或“选定元素”集。

于 2013-10-24T18:55:19.763 回答
2

它返回您使用查询选择的元素:

$("[some query here]").removeClass("...").text("the text that must be set");

因此,添加class1和删除class2可以像下面这样完成:

$("query .class2")
    .removeClass("class2")
    .addClass("class1");

文档页面上,您可以看到:Returns: jQuery

于 2013-10-24T18:55:58.440 回答
1

查看removeClass 的文档,它告诉您Returns: jQuery


在此处输入图像描述

于 2013-10-24T18:59:26.843 回答