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

Ste*_*305 6 javascript jquery

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

以下Javascript不起作用:

x = document.getElementsByName($('#questions').val());
x.value=this.value;  
Run Code Online (Sandbox Code Playgroud)

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

dkn*_*ack 9

描述

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

看看我的样本和这个jsFiddle演示

样品

HTML

<input type="text" name="nameOfTheInputElement"/>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(function() {
    $("input[name='nameOfTheInputElement']").val("your value");
});
?
Run Code Online (Sandbox Code Playgroud)

编辑

如果您因某种原因需要更改名称是另一个元素中的值的元素,请执行此操作.jsFiddle示范

HTML

<input type="text" id="questions" value="nameOfTheInputElement"/>    
<input type="text" name="nameOfTheInputElement"/>
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(function() {
    var name = $("#questions").val();
    $("input[name='"+name +"']").val("your value");
});?
Run Code Online (Sandbox Code Playgroud)

更多信息


Eli*_*gem 6

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

var x = document.getElementsByName(document.getElementById('questions').value)[0].value = this.value;
Run Code Online (Sandbox Code Playgroud)

我知道 jQuery 的口号是“少写,多做”,在很多情况下这是真的……many cases !== always不过;-)