Javascript 设置仅值属性而不是键值

Javascript 设置仅值属性而不是键值,javascript,jquery,Javascript,Jquery,我想向对象添加一个单词属性 应该是:aaa 非:aaa 使用jQuery或javascript document.body.setAttribute("blah","") 应该可以了。只是的HTML速记。当您查看网页时,浏览器会将HTML转换为DOM(这与创建它所使用的语法无关)。然后,您可以操纵DOM(这很重要,您不是在操纵原始HTML,而是在操纵浏览器将其解析为的内容) 如果将DOM序列化回HTML,则可能会得到或,具体取决于序列化程序的实现方式。您可能会要求浏览器提供元素的innerHT

我想向对象添加一个单词属性

应该是:
aaa

非:
aaa

使用jQuery或javascript

document.body.setAttribute("blah","")
应该可以了。

只是
的HTML速记。当您查看网页时,浏览器会将HTML转换为DOM(这与创建它所使用的语法无关)。然后,您可以操纵DOM(这很重要,您不是在操纵原始HTML,而是在操纵浏览器将其解析为的内容)

如果将DOM序列化回HTML,则可能会得到
,具体取决于序列化程序的实现方式。您可能会要求浏览器提供元素的
innerHTML
,在这种情况下,您得到的内容由浏览器作者决定,您无法控制它

如果使用速记形式表示所选属性很重要,那么您必须使用另一种seraliser来提供该控件。我不知道有什么,所以您可能必须从头开始编写。

使用属性

这将更改当前选定的

$(selector).prop('selected',true);

编辑:

这将更改所选的默认值

$(selector).prop('defaultSelected',true);

现在将设置默认的选择值,但使用扩展格式:selected=“selected”。

空字符串不是所选属性的有效值。浏览器将执行错误恢复(可能是假定您的意思是
setAttribute('selected'、'selected')
removeAttribute('selected'))
@Quentin同意,但无论如何,我们谈论的是非标准属性。任何行为都是不可预测的,因为添加此类属性是不标准的。在chrome中,它按预期工作。任何其他浏览器,idk。为什么我们谈论非标准属性?问题完全使用标准属性。@Quentin哈哈……这是谁le time我认为selected是一个非标准约定。XD哦……在这种情况下,我必须说你的答案是正确的。:P你不应该尝试使用没有值的selected属性。在Chrome中测试。它根本没有添加任何selected属性。对我来说也是。可能是因为选项不在a.prop中。实际上是n新东西。它出现在jQuery 1.6上。你使用的是新版本吗?如果我没有使用带有
prop
的jQuery版本,那么它会在警告HTML之前出错。而
的存在没有什么区别。(这是因为,顺便说一句,选定属性设置默认值,而选定属性设置当前值)