替换内嵌div风格

时间:2014-06-18 02:18:04

标签: javascript jquery dojo

我尝试使用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不兼容?对不起,我对此很陌生。

由于

1 个答案:

答案 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/