我需要一个函数来使用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
的{{1}}元素时,它会将所有test
元素的名称设置为input
。
有没有方法只测试输入名称?
答案 0 :(得分:8)
使用equal-selector来检查length
,
function addInput(inputName) {
if (! $('input[name="'+inputName+'"]').length) {
$('<input>', {
type: "hidden",
name: inputName
}).appendTo('#foo')
}
}
答案 1 :(得分:2)
function addInput(inputName) {
if ($('input[name="'+inputName+'"]').length > 0)
{
alert("Exists");
}
}
答案 2 :(得分:1)