如何通过名称获取元素并设置其值

新手上路,请多包涵

应该有一个简单的解决方案。我需要按名称获取输入元素并设置其值。

以下 Javascript 不起作用:

 x = document.getElementsByName($('#questions').val());
x.value=this.value;

有使用 JQuery 的简单解决方案吗?

原文由 Stephen305 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 554
2 个回答

描述

您正在混合普通的 javascript 和 jQuery。使用属性选择器。

查看我的示例和这个 jsFiddle 演示

样本

HTML

 <input type="text" name="nameOfTheInputElement"/>

查询

$(function() {
    $("input[name='nameOfTheInputElement']").val("your value");
});
​

编辑

如果您出于某种原因想要更改名称是另一个元素中的值的元素,请执行此操作。 jsFiddle 演示

HTML

 <input type="text" id="questions" value="nameOfTheInputElement"/>
<input type="text" name="nameOfTheInputElement"/>

jQuery

 $(function() {
    var name = $("#questions").val();
    $("input[name='"+name +"']").val("your value");
});​

更多信息

原文由 dknaack 发布,翻译遵循 CC BY-SA 3.0 许可协议

一个简单、纯 JavaScript(因此速度更快)的解决方案:

 var x = document.getElementsByName(document.getElementById('questions').value)[0].value = this.value;

我知道 jQuery 的标语是“少写,多做”,在很多情况下这是真的…… many cases !== always ,虽然;-)

原文由 Elias Van Ootegem 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题