簡體   English   中英

如何通過name屬性獲取輸入元素的集合

[英]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);

參數:

  • selector - (字符串)CSS選擇器
  • elements - (elements),(collection)或(array)可枚舉的元素列表
  • element,element - (element)任意數量的元素作為參數

返回:

  • (elements) - 匹配的所有DOM元素的類似數組的Elements集合,使用document:id擴展。

所以你應該使用: $$(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM