![](/img/trans.png)
[英]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.