更新克隆元素的ID是否存在问题?我认为我的语法在这里是正确的,但它没有更新。
function addQuestion(){
// Clone the first question Container and give it a new ID
$('#questionContainer0').clone().attr('id','questionContainer'+currentQuestion).appendTo('#questionArea');
// Assign the new ID to the text area field (This is not working)
$('#question0').attr('id','asdasd');
var test = $('#question0').attr('id');
alert(test);
}
Question0是原始克隆的questionContainer0(div)的子元素(textarea)
答案 0 :(得分:3)
变化
$('#question0').attr('id','asdasd');
到
$('#question0', '#questionContainer'+currentQuestion).attr('id','asdasd');
这会限制您在克隆元素中的搜索。
更确定的是,在将DOM中的克隆元素附加到DOM之前,您应该这样做,因为ID应该在DOM中是唯一的。
function addQuestion(){
// Clone the first question Container and give it a new ID
var newElement = $('#questionContainer0').clone().attr('id','questionContainer'+currentQuestion);
newElement.find('#question0').attr('id','asdasd');
newElement.appendTo('#questionArea');
}
答案 1 :(得分:2)
您在此处成功更改了id
属性:
$('#question0').attr('id','asdasd');
但是,您尝试在下一行中使用原始(不再存在)id
访问该元素:
var test = $('#question0').attr('id');
这可能是问题吗?
答案 2 :(得分:1)
您的alert
是否给了您undefined
?这是因为您通过Id选择元素,更改Id,然后使用jQuery通过 old id
(返回空结果集)查找元素。 alert
空结果集中第一个元素的id
将产生undefined
。
答案 3 :(得分:0)
您更改了ID($('#question0')。attr('id','asdasd')),然后获取具有旧ID的元素($('#question0')。attr('id ')),不再存在。