gpt4 book ai didi

javascript - 如何通过名称属性获取输入元素的集合

转载 作者:行者123 更新时间:2023-12-01 02:16:05 24 4
gpt4 key购买 nike

我有一个看起来像这样的表单:

<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[]']")

但这给了我一个异常(exception)。并这样调用它:

$$("input[name='post_photo_edit']")

返回空集合。

我知道我可以这样调用它

document.getElementsByName("post_photo_edit[]")

它会完美地工作,但我想知道这个表达式在 MooTools 中应该是什么样子才能像上面这样工作。

有什么想法吗?

最佳答案

函数:$$

选择并扩展 DOM 元素。返回一个 Elements 实例。返回的 Element 实例是一个类似数组的对象,支持每个 Array 方法和每个 Element 方法。

语法:

var myElements = $$(参数);

参数:

  • 选择器 - (字符串)CSS 选择器
  • elements - (元素)、(集合)或(数组)元素的可枚举列表
  • element, element - (元素)任意数量的元素作为参数

返回:

  • (elements) - 所有匹配的 DOM 元素的类似数组的 Elements 集合,并使用 document:id 进行扩展。

所以你应该使用:$$(document.getElementsByName("post_photo_edit[]"));

CSS3支持字符转义,因此可以使用反斜杠来转义字符:

但您也可以像这样转义数组运算符:$$("input[name=post_photo_edit\[\]]")

关于javascript - 如何通过名称属性获取输入元素的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5564895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com