gpt4 book ai didi

javascript - 为什么隐藏输入元素的 .attr ('value' ) 不从 html 字符串返回原始值?

转载 作者:技术小花猫 更新时间:2023-10-29 12:12:07 25 4
gpt4 key购买 nike

基本上当在文本框上调用 .attr("value") 时,它将返回其在标记中设置的值,而不是使用 .val 设置的值()

例如,

<input id="test" type="text" value="testing" />

Js:

$("#test").val("hello");
console.log($("#test").val()); //hello
console.log($("#test").attr('value')); //testing

但是当对一个隐藏的元素做同样的事情时,结果是不同的,如下所示,

HTML:

<input id="test1" type="hidden" value="testing" />

Js:

$("#test1").val("hello");
console.log($("#test1").val()); //hello
console.log($("#test1").attr('value')); //hello

DEMO

如果我们使用 .val() 为该元素设置值,则 value 属性会被忽略。任何人都知道为什么会这样?包含此行为详细信息的相关链接会更有帮助。

最佳答案

隐藏 输入不是用户可编辑,因此您可能会发现默认值和当前值 对他们来说是一样的。所以 .val().attr('value') 对于 hiddenelement

是一样的

据我所知,value 属性描述了元素的默认值,而不是当前值值(value)。当前值是您可以通过值属性访问的值(这是 jQuery val() 所做的)。

关于javascript - 为什么隐藏输入元素的 .attr ('value' ) 不从 html 字符串返回原始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32338756/

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