我用一個生成JSON響應的基於PHP的服務器端程序製作了一個簡單的公告板系統。嘗試使用Javascript動態更改CSS失敗。爲什麼?
對於客戶端,我選擇使用jQuery動態生成所有HTML代碼。
<body>
<ol class="list" id="viewList"></ol>
$(document).ready(function() {
$.getJSON("list.php", function (json) {
var nPosts = json.length;
for (i = 0; i < nPosts; i++) {
$('<ol/>', {
class: "viewPost",
id: "post" + i
}).appendTo("#viewList");
$('<li/>', {
class: "viewAuthor",
id: "author" + i,
text: json[i].authorName
}).appendTo("#post" + i);
$('<li/>', {
class: "viewEmail",
id: "email" + i,
text: json[i].authorEmail
}).appendTo("#post" + i);
}
});
//Problem HERE:
var post0 = document.getElementById("post0");
post0['style']['border-top-width'] = '0px';
});
我在做什麼在這裏,抹去虛線,只爲第一列表項目(LI)。
試過jQuery的方式($(「#post0」)...)和Javascript的方式(上面) 但都沒有生效。
.list {
border-style: solid; border-width: 1px;
width: auto;
padding: 0px;
}
.viewPost {
border-style: none;
border-top-style: dashed; border-top-width: 1px;
padding: 0px;
}
請發佈jsFiddle。 – screenmutt
當通過JavaScript/AJAX生成大量HTML的時候,使用像knockout.js這樣的庫可以更輕鬆地進行數據綁定/模板化。 –
我只是好奇爲什麼$('post0')。css(...)沒有生效... –