javascript - 如何动态增加谷歌的 polyfill 对话框高度

标签 javascript modal-dialog

我使用 Google 的 polyfill 对话框,并希望根据用户是否单击对话框按钮在其中添加更多元素(行)来动态增加它的高度。 这是当用户单击该按钮时调用的 javascript 的一部分:

var mc_dialog = document.getElementById('mc_dialog');
var h = mc_dialog.style.height;
console.log("mc_dialog height = ",h);

但是 height 是简单的空,没有值(value)——什么都没有

虽然 mc_dialog.style.height = "500px" 工作完美。

为什么我得不到 mc_dialog.style.height 的值?

编辑:

在 Evil Penguin 的回答之后,我在 javascript 函数中设置高度 initially,这会打开对话框,如下所示:

mc_dialog.style.height = "500px"

稍后当用户点击向对话框添加内容时,我现在可以检索高度,所以现在看起来像这样:

var mc_dialog = document.getElementById('mc_dialog');
var h = parseInt(mc_dialog.style.height);
mc_dialog.style.height= h+50+"px";

而且效果很好。

但现在我有一个问题,为什么我必须首先设置 style.height ?它不是该元素的永久属性吗?如果不是,为什么?

最佳答案

Here是类似的问题。

.style.height 只有在您首先设置该属性时才有效。

编辑:

HereHTMLElement.style 属性的引用。它说:

style 属性一般对于了解元素的样式没有用,因为它仅表示在元素的内联样式属性中设置的 CSS 声明。

据我了解,如果元素的内联声明中没有 style="smth",则 HTMLElement.style.smth 不起作用。

关于javascript - 如何动态增加谷歌的 polyfill 对话框高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39315167/

相关文章:

javascript - jquery Pageinit 被多次调用

javascript - 可视化 Node.js 的堆栈

javascript - 可用模式弹出窗口

javascript - 具有多个值的 SELECT 标记中的选项?

html - 如何复制粘贴模式

javascript - 如何让rex对[]进行替换或拆分?

css - 如何在 Bootstrap 模式的背景中放置元素?

javascript - $(document).off ('.data-api' ) 是否有 "on"等效项?

ruby-on-rails - 在 Rails 中使用模态创建和编辑对象

javascript - 禁止在 Bootstrap 模态区域外单击以关闭模态