为什么浏览器会自动取消显示html标记属性值?

为什么浏览器会自动取消显示html标记属性值?,html,browser,attributes,tags,Html,Browser,Attributes,Tags,下面我有一个HTML标记,并使用JavaScript提取小部件属性的值。此代码将提醒,而不是测试,因此浏览器会自动取消显示属性值: 警报(document.getElementById(“hau”).attributes[1].value) 浏览器在解析文档(如上所述)后立即取消显示属性值。其中一个原因可能是,否则就不可能在属性值中包含双引号(好吧,从技术上讲,如果您将值放在单引号中,那么您将无法在值中包含单引号) 这就是说,这种行为是无法阻止的,尽管如果您确实必须使用该值,并且HTML实体是

下面我有一个HTML标记,并使用JavaScript提取小部件属性的值。此代码将提醒
,而不是
测试
,因此浏览器会自动取消显示属性值:

警报(document.getElementById(“hau”).attributes[1].value)

浏览器在解析文档(如上所述)后立即取消显示属性值。其中一个原因可能是,否则就不可能在属性值中包含双引号(好吧,从技术上讲,如果您将值放在单引号中,那么您将无法在值中包含单引号)

这就是说,这种行为是无法阻止的,尽管如果您确实必须使用该值,并且HTML实体是其中的一部分,您可以简单地将特殊字符转换回代码中(我建议您执行这种任务)

1) 它可以在不做双转义的情况下完成

看起来你的更接近。 如果您不介意使用
jQuery

警报(htmlEncode($('#hau').attr('widget'))
函数htmlEncode(值){
//创建内存中的div,设置其内部文本(jQuery自动编码)
//然后把编码的内容拿回来。div在页面上永远不存在。
返回$('').text(value.html();
}