我正在尝试使用 Dojo 替换 div 的内联样式。我只想更改 min-height 属性,而不影响任何其他内联属性。
这是我当前的 HTML:
<div id="divid" class="divclass" style="width: 950px; min-height: 225px;">
这是我的脚本字符串:
dojo.query('div.divclass').css( "min-height", "0px" );
但是好像根本没有效果。如果我尝试将 .css()
替换为 .attr()
它工作正常,只是它删除了其他样式 - .attr('style', '最小高度:0px');
手动编辑 div 代码不是一个选项,所以我正在寻找解决方法。我还尝试附加另一个类,但内联样式会覆盖它。
我从 jQuery 站点获得了 .css()
部分,所以它可能与 Dojo 不兼容?抱歉,我对此还很陌生。
谢谢
最佳答案
Dojo 也有一个替代方案(与 jQuery 相比),但是该函数称为 style()
而不是 css()
,例如:
dojo.query('div.divclass').style( "min-height", "0px" );
此外,此功能默认不可用,您还需要加载模块 dojo/NodeList-dom
,因为它包含 NodeList
的额外 DOM 功能(这是使用 dojo/query
模块时获得的节点列表)。
还有一点需要注意:在查询之前请确保 DOM 已加载,如果 DOM 尚未加载,则也没有任何内容可查询。
完整的示例(使用 AMD)是:
require([ "dojo/query", "dojo/NodeList-dom", "dojo/domReady!" ], function(query) {
query('div.divclass').style( "min-height", "0px" );
});
dojo/domReady!
模块类似于 jQuery 中的$(document).ready()
,它确保在查询之前加载 DOM。
工作示例也可以在 JSFiddle 上找到:http://jsfiddle.net/Eu9Br/
关于javascript - 替换内联div样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24276093/