gpt4 book ai didi

java - GWT 元素 setAttribute 与 setPropertyString

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:40:43 25 4
gpt4 key购买 nike

我无法确定 Element.setAttribute(String name, String value)Element.setPropertyString(String name, String value) 之间的区别。有区别吗?尝试在文本输入上设置占位符时首选哪个?我一直在做 getElement().setPropertyString("placeholder", "this is a placeholder"); 并且它有效,但这是正确的方法吗?

documentation for DOM , setAttribute(Element, String, String) 已弃用,表示使用“更恰当命名的 setElementProperty(Element, String, String) 代替。”这是否意味着应该使用 Element 的类似命名方法?

最佳答案

Attributes 和 Properties 是有区别的。简而言之,属性表示初始状态,而属性始终表示当前状态。

参见 http://jquery-howto.blogspot.com/2011/06/html-difference-between-attribute-and.html详细解释。

在 GWT 中,调用 setAttribute 会在当前元素上调用 native javascript 函数 setAttribute。调用 setProperty... 设置当前元素的属性。

过去,在大多数浏览器中,这曾经是相同的,但随着标准的发展,这开始发生变化。

我真的不知道浏览器实现之间的所有细微差异,但要跟踪差异,可以依赖不同的 DOM 级别规范:http://www.w3.org/TR/DOM-Level-2-HTML/ http://www.w3.org/TR/DOM-Level-3-Core/

此外,关于 setAttribute 的 Mozilla 文档也可以说明 firefox 的不同之处:https://developer.mozilla.org/en/DOM/element.setAttribute

所以总而言之:如果你在 GWT 中使用 setAttribute,你依赖于浏览器 setAttribute 实现,它在某种程度上设置了默认值(在某些属性上,而不是更新值),所以通常你需要 setProperty...

关于java - GWT 元素 setAttribute 与 setPropertyString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8590302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com