通过JavaScript/CSS隐藏元素
一些我以前从未见过的有趣JavaScript:通过JavaScript/CSS隐藏元素,javascript,jquery,css,Javascript,Jquery,Css,一些我以前从未见过的有趣JavaScript: var html = $( 'html' ); if( html.className !== '' ) html.className = ''; 我不确定它是如何工作的,但看起来这个赋值的效果是将页面上每个元素的CSS显示值从block更改为none 有人熟悉这种行为吗?我看对了吗 编辑: 好的,对于那些说jQuery无效的人,你是对的。这是一种描述另一个函数传入的HTML元素的简写方法。我没有写它,只是想理解它。它可以工作,我想
var html = $( 'html' );
if( html.className !== '' )
html.className = '';
我不确定它是如何工作的,但看起来这个赋值的效果是将页面上每个元素的CSS显示值从block更改为none
有人熟悉这种行为吗?我看对了吗
编辑:
好的,对于那些说jQuery无效的人,你是对的。这是一种描述另一个函数传入的HTML元素的简写方法。我没有写它,只是想理解它。它可以工作,我想知道为什么。这实际上是一个jQuery,用于选择html节点并将css类的值更改为它 让我们说您想使用单击事件更改html文档的填充
您的onclick事件将调用该函数来为css类分配所需的填充。如果它实际上选择了一个DOM元素,它将删除该元素上的所有类。。。但这不是有效的jQuery,因为jQuery中没有类名。代码是否缺少一个
[0]
?是的,因为您的目标是所有HTML。@Leon这只是选择HTML元素……因此,除非HTML有一个规则,该规则有一个设置显示的类,否则您必须实际查看它是否确实执行了您建议的操作?要使代码正常工作,必须通过html[0]
访问className
才能在使用jQuery进行选择后获取元素引用。下面是一个示例,它精确复制了您的代码,只添加了缺少的功能。No。jQuery选择器永远不会转换为标准javascript对象,以便className
工作。