我尝试使用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', 'min-height:0px');
手动编辑div代码不是一个选项,所以我正在寻找一种解决方法。我也尝试添加另一个类,但是内嵌样式会覆盖它。
我从jQuery网站获得了.css()
部分,所以它可能与Dojo不兼容?对不起,我对此很陌生。
由于
答案 0 :(得分:0)
还有一个替代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/