2013-10-29 55 views
1

我需要一個函數來使用jQuery動態添加新的輸入元素。如何使用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'); 

但insteed檢查名爲testinput元素它集所有input元素test的名稱。 是否有任何方法只測試輸入名稱?

回答

7

檢查lengthequal-selector一樣,

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

Demo

2
function addInput(inputName) { 
    if ($('input[name="'+inputName+'"]').length > 0) 
    { 
     alert("Exists"); 
    } 
    } 
0

,如果你使用jQuery的工作只是用.is()功能:

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

see in codepen

相關問題