无法使用jQuery类选择器选择所有元素

时间:2016-06-19 18:14:48

标签: javascript jquery html google-chrome tags

这里有一个表格数据,其中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"> enter image description here

2 个答案:

答案 0 :(得分:4)

在您的代码[[a, b, 1, 2], [c, d, 3, 4], [e, f, 5, 6], [e, f]] 中返回dom对象,您无法使用jQuery val() 方法。您可以设置$('.submit3')[0]属性来更新值。

value

或使用 eq() 方法使用索引

获取jQuery对象
$('.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 = ...