如何动态增加Google Googles polyfill对话框高度

时间:2016-09-04 08:52:49

标签: javascript modal-dialog

我使用Googles polyfill对话框并希望动态增加它的高度,具体取决于用户单击对话框按钮以在其中添加更多元素(行)。 这是当用户点击该按钮时调用的javascript的一部分:

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

但是height很简单,没有价值 - 没什么

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?它不是该元素的永久属性吗?如果没有,为什么?

1 个答案:

答案 0 :(得分:1)

Here是类似的问题。

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

编辑:

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

一般来说,style属性对于学习元素的样式没有用,因为它只代表元素内联样式属性中设置的CSS声明。

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