0

我正在尝试在 jQuery 之上编写的第三方库。

我注意到,对于他们的一些小部件,例如,当您的消息来源说,

<div id="myWidgetInst" class="their-widget-class-0" ... </div>

Firebug 显示生成的 DOM 元素显示为:

 <div id="myWidgetInst" class="their-widget-class-0 their-widget-class-1 ..." ... </div>

他们是怎么做到的呢?非常感谢。

4

3 回答 3

1

它可能是 jquery !

可能有一个函数正在运行向元素添加类

于 2012-08-08T16:50:30.637 回答
1

不确定我是否完全理解您的问题,但是在查看网站的“常规”来源时,该来源没有显示由于 javascript 修改而对 DOM 进行的任何修改。Firebug 确实显示了这些更新。

使用 jQuery,您可以简单地通过在要修改的元素上使用.addClass("className")或函数来添加/删除类.removeClass("className")

于 2012-08-08T16:53:43.653 回答
0

他们会使用 jQuery 向元素添加类。例如,如果插件的目的是隐藏页面上的所有元素(我知道创新且非常实用),他们可以使用以下内容:

$(document).ready(function() {
    $("*").addClass("my-widget-made-your-element-invisible");
});

使用 CSS:

.my-widget-made-your-element-invisible { display: none; }

可以在 jQuery 中操作class属性的方法包括:

$("#elem").addClass("a");       // adds the class "a" to elem
$("#elem").removeClass("a");    // removes the class "a" from elem
$("#elem").attr("class", "a");  // gives elem a complete class of "a"
$("#elem").attr("class", "");   // removes all classes from attribute
于 2012-08-08T16:51:52.413 回答