[英]Is “name” attribute mandatory in <input>, <textarea> and <button> elements?
[英]How to get a collection of input elements by name attribute
我有一个看起来像那样的表格:
<form method="post" enctype="multipart/form-data" onsubmit="return new_post_form_submit();">
<input type="hidden" name="task" value="addPost">
<input type="hidden" name="post_photo_edit[]" value="0">
<input type="hidden" name="post_photo_edit[]" value="0">
<input type="hidden" name="post_photo_edit[]" value="0">
...
</form>
在new_post_form_submit
函数中,我想选择名为post_photo_edit
所有元素作为集合。 正如您可以看到它名称实际上是post_photo_edit[]
,因为我希望将它作为我的PHP代码中的数组。
我正在使用MooTools,但jQuery可能会有完全相同的解决方案。
我试着打电话
$$("input[name='post_photo_edit[]']")
但它给了我一个例外。 并以这种方式调用它:
$$("input[name='post_photo_edit']")
返回空集合。
我知道我可以这样称呼它
document.getElementsByName("post_photo_edit[]")
它会工作得很完美,但我想知道这个表达式在MooTools中应该如何像上面那样工作。
有任何想法吗?
功能:$$
选择和扩展DOM元素。 返回一个Elements实例。 返回的Element实例是一个类似于数组的对象,支持每个Array方法和每个Element方法。
句法:
var myElements = $$(argument);
参数:
返回:
所以你应该使用: $$(document.getElementsByName("post_photo_edit[]"));
CSS3支持字符转义,因此您可以使用反斜杠来转义字符:
但你也可以像这样转义数组运算符: $$("input[name=post_photo_edit\\[\\]]")
不确定MooTools,但要选择每个具有BEGINS属性的元素,你可以这样做:
$('input[name^="post_photo_edit"]')
你可以在这里查看: jQuery从Selector开始
你应该使用属性启动选择器 。 在MooTools上也是如此
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.