我有一个动态复制的div。重复之后,我只需要从隐藏的输入中删除名称,但似乎无法仅选择它。该文件的大部分是原型,但我可以使用jQuery(jq
)。
我已经设法让名字消失了,但是它全部清除了,我只想在重复的div上清除它。
帮助表示感谢。
function dupField(fieldName,container,dupediv){
var container = $(container);
var dupedDiv = $(dupediv).cloneNode(true);
var totalins=jq("#MI_name > div").size();
newNode=document.createElement('div');
newNode.innerHTML=dupedDiv.innerHTML;
newNode.setAttribute('id',dupediv+totalins);
newNode.setAttribute('class','MI_inz');
var inputs_txt = newNode.getElementsByTagName('input');
var x = jq('#MI_label').val();
for(j=0;j<inputs_txt.length;j++){//change text field names
var nameNow = inputs_txt[j].name;
var newName = nameNow+totalins;
inputs_txt[j].name=newName;
inputs_txt[j].value='';
}
container.appendChild(newNode);
var nn=jq('newNode:hidden');//jQuery - this selects all the hidden's in the form-no good-only want to change hidden input in newNode
var hid=jq(nn).attr('name','');
}
这是appendChild
之后的部分。
我尝试过的其他一些事情:
var nn=jq('newNode:input(:hidden)');
-
var nn=jq(newNode).attr('id');
jq(nn+':hidden').attr('name','');
等...
我确信这很简单,但我无法得到它......
答案 0 :(得分:2)
对于属性类型等于隐藏的输入:
jq(newNode).find('input[type=hidden]');
答案 1 :(得分:0)
container.appendChild(newNode);
var nn=jq('newNode:hidden');
var hid=jq(nn).attr('name','');
您无需查找新节点。你已经有了它的参考。只需用它来删除名称。
jq(newNode).attr('name', '');