javascript - 替换内联div样式

标签 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', '最小高度: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/

相关文章:

javascript - 在javascript模板中格式化json日期

javascript - 从单选按钮 slider 的纯 CSS 实现创建 JS 事件

javascript - 如何使用 FormData 将文件提交到 MVC Action

javascript - JS 类并覆盖 JQuery 事件处理程序

javascript - 关于dojo/dijit/dojox的问题

javascript - 单击事件更改复杂的 SVG (Meteor)

javascript - 双击可编辑

jquery - 链接到 jquery 选项卡

javascript - JSON/javascript成员函数在dojo模块中引用父级?

带参数的 Dojo i18n 资源文件