我發現錯誤,碼的另一部分被排空時<ul>
我點擊某個按鈕。
如果我做console.log()我可以看到循環正在工作。如果我這樣做:
console.log($("#select_opts").html());
它顯示正在按預期更新的HTML。但是,在瀏覽器窗口中,它顯示UL爲空的 !
我在做什麼錯?
我發現錯誤,碼的另一部分被排空時<ul>
我點擊某個按鈕。
$("select_opts").append(str);
應該
$("#select_opts").append(str);
你指按ID對象,以便你錯過#
$.each(q.opts, function(i,o)
{
var str='';
str+="<li id='li_" + i + "'><input type='text' id='opt_" + i + "' value='" + o.option + "'>";
str+=" (<a href='javascript:delOpt(" + i + ");'>Delete</a>) </li>";
$("#select_opts").append(str);
//^
}
這並不工作,要麼 – 2009-06-08 13:11:41
如果不嘗試,如果實際執行循環檢查? 嘗試把警報('這個作品');內。 – 2009-06-08 13:18:55
我想像input
需要正確地自我封閉。
只有當它是xhtml,但即使如此,這應該不會影響JavaScript。 – 2009-06-08 13:23:03
這是一個錯字?:
$("select_opts").append(str);
你的意思是?:
$("#select_opts").append(str);
更新:
試試這個:
$.each(q.opts, function(i, o) {
var li = $('<li>').attr('id', 'li_' + i);
var in = $('<input>').attr('type', 'text').attr('id', 'opt_' + i).val(o.option);
var aa = $('<a>').attr('href', 'javascript:delOpt(' + i + ');').text('Delete');
li.append(in).append(aa)
$("#select_opts").append(li);
});
我實在看不出有什麼不對,但它試一下,只是爲了看看它的工作原理...
$(str).appendTo("#select_opts");
雙方應該工作。
標記輸入應關閉 - 如果不這樣做,用的append()在Internet Explorer無效HTML時,股利不投入DOM樹,所以你不能用jQuery訪問後。
這並不工作,要麼 – 2009-06-08 13:11:32