Tam*_*ari 2 javascript getattribute
我有这个输入行,我试图提取值属性的文本:
<input type="text" class="card-input small-font" ng-value="paymentVia.typeDisplay" readonly="" value="Credit card">
Run Code Online (Sandbox Code Playgroud)
该函数getAttribute("class")工作正常,它返回card-input small-font但函数getAttribute("value")返回null.我也尝试了.value但这会返回一个空字符串.
有谁知道为什么会这样?
这是我的JS:
function() {
var x = document.getElementsByClassName("card-input small-font");
var payment =x[18].value;
return payment;
}
Run Code Online (Sandbox Code Playgroud)
sam*_*ayo 16
节点值和元素属性是html标记的不同部分.所以,你必须改为使用element.value.
这是一个例子,向你展示了如何获取value,data,attribute从输入字段.
HTML输入字段.
<input type="text" id="foo" data-something="something" value="bar">
Run Code Online (Sandbox Code Playgroud)
和JavaScript.
var el = document.getElementById("foo");
console.log(el.value) // bar
console.log(el.getAttribute("id")) // foo
console.log(el.dataset.something) //something
Run Code Online (Sandbox Code Playgroud)
element.getAttribute("value")返回在标记中设置的值,它不一定与element.value.
此外,元素的 value 属性仅以一种方式同步- 从标记到对象,反之亦然不会发生。
所以,如果要获取以编程方式设置的值,则需要编写
element.value
Run Code Online (Sandbox Code Playgroud)
否则,如果您需要获取在标记中定义的值
<input value="abc">
Run Code Online (Sandbox Code Playgroud)
你需要做 element.getAttribute("value")