3
無論是在jQuery級別還是在DOM級別,複選框的checked屬性都必須有特殊的內容。有了這個HTML:如何將checked =「checked」屬性添加到.html()方法的輸出
<html>
<body>
<input id="cb" type="checkbox" />
</body>
</html>
而且這個JavaScript:
$(function() {
$("#cb").attr("checked","checked");
alert("Expecting this HTML fragment to have a 'checked' attribute:\n\n"
+ $("body").html());
});
我沒有收到我的期望;如果我使用除「checked」之外的屬性名稱,它將按預期工作。
我試圖讓它工作的原因是我需要獲取HTML,因爲它存在於瀏覽器DOM中並將其轉換爲PDF,因此用戶可以獲取頁面的PDF版本,因爲它們是「重新看着它;它在客戶端大量操縱,因此直接從服務器獲取正確的HTML並不是一個簡單的選擇。
這裏是上述代碼的工作版本:http://jsfiddle.net/pettys/qTfDP/2/
有道理。感謝您的鏈接 - 很高興知道背景。 – pettys 2011-05-31 23:04:58
@pettys我認爲潛在的問題是,直到1.6'attr'設置DOM屬性'checked'而沒有在標記中添加屬性。 – robertc 2011-05-31 23:09:59
我沒有想過在設置屬性和設置屬性之間的區別,直到我閱讀你發送的鏈接。好東西! – pettys 2011-06-01 13:11:34