2

我需要一个函数来使用 jQuery 动态添加新的输入元素。

是这样的

function addInput(inputName) {
  $('<input>', {
    type: "hidden",
    name: "inputName"
  }).appendTo('#foo');
}

addInput('test');

它有效,它增加了一个新<input type="hidden" name="test">#foo

仅当指定名称的输入不存在于DOM.

这是我更新的功能

function addInput(inputName) {
  if (! $(input).attr('name','inputName') {
    $('<input>', {
      type: "hidden",
      name: "inputName"
    }).appendTo('#foo')
  }
}

addInput('test');

但是检查具有将所有元素input的名称test设置为的名称的input元素test。有什么方法可以只测试输入名称吗?

4

3 回答 3

8

length使用相等选择器检查,

function addInput(inputName) {
  if (! $('input[name="'+inputName+'"]').length) {
    $('<input>', {
      type: "hidden",
      name: inputName
    }).appendTo('#foo')
  }
}

演示

于 2013-10-29T06:01:59.747 回答
2
function addInput(inputName) {
    if ($('input[name="'+inputName+'"]').length > 0)
     {
      alert("Exists");
     }
    }
于 2013-10-29T06:04:15.753 回答
1

如果您使用 jQuery,只需使用.is()函数:

if(input.is('[name="your_name"]')){
   //do some things!
}

见codepen

于 2017-08-19T07:49:04.923 回答