这里有一个表格数据,其中3个输入项目具有公共类 submit3 。无论何时我想使用jQuery选择3个按钮并想要更改这些按钮的值和名称属性元素到其他一些文本。
这里包括数据的代码片段
<td colspan=2>
<input type="submit" value="Login" class="submit3" onclick="return checknull()" tabindex="1">
<input type="button" value="Reset" class="submit3" onclick="call_reset()" tabindex="1">
<input type="button" value="Forgot Password ?" class="submit3" onclick="call_fgpwd()" tabindex="1">
</td>
但是当我使用类选择器$('。submit3')选择jquery时,它只返回第一个输入提交按钮而忽略了剩余的2。
这里的原始javascript就在这里
document.getElementsByClassName("submit3")[0].value = "something";
document.getElementsByClassName("submit3")[1].name = "something";
document.getElementsByClassName("submit3")[2].name = "something";
document.getElementsByClassName("submit3")[2].value = "something";
现在我尝试将其转换为jquery为
$('.submit3')[0].val("Something New")
导致错误Uncaught TypeError: $(...)[0].val is not a function
同样在chrome浏览器控制台(最新版本)中,当我运行$('submit3')
输出是
<input type="submit" value="Login" class="submit3" onclick="return checknull()" tabindex="1">
答案 0 :(得分:4)
在您的代码[[a, b, 1, 2], [c, d, 3, 4], [e, f, 5, 6], [e, f]]
中返回dom对象,您无法使用jQuery val()
方法。您可以设置$('.submit3')[0]
属性来更新值。
value
或使用 eq()
方法使用索引
$('.submit3')[0].value = "Something New"
答案 1 :(得分:2)
将jQuery集合.contains()
转换为$('.submit3')
- 原始DOM元素$('.submit3')[0]
时,jQuery属性不起作用。使用普通的JS属性。
[HTMLElement]
使用
$( ".foo" )[ 0 ] // is equivalent to document.getElementsByClassName( "foo" )[0]
或者
$('.submit3')[0].value = ...