2011-06-09 17 views
2

我正在使用JavaScript來自定義單選按鈕。我爲每個按鈕添加了標籤,當我單擊標籤時,它似乎正確更新所選收音機,但不是當我單擊單選按鈕圖形時。 (只有背景位置發生變化)任何方式通過動態更新輸入字段通過Firebug準確查看HTML中發生了什麼?

是否有反正我可以做到這一點,所以我可以查看當點擊它們時螢火蟲中的每個單選按鈕輸入元素的變化?

如果您希望看到我正在談論的示例,請轉至here,檢查其中一個單選按鈕元素,然後單擊它們,您將看到代碼永不更改(即checked =「checked 「)。

回答

1

當您通過Javascript更改DOM時,您將更改內存中的版本。 DOM的來源永遠不會被您的Javascript修改。

參見:Firefox Live DOM

+1

任何想法爲什麼我可以看到類名,內聯樣式等變化,但不是「checked」屬性? – Cofey 2011-06-09 20:27:39

1

如果右鍵單擊元素並選擇「檢查元素」,它將向您顯示該元素在內存中的HTML,並將反映在您與頁面交互時對該元素的更改。

此外,如果您選擇「腳本」選項卡,您可以找到您的JavaScript並設置中斷點,以便您逐步執行腳本並調試可能發生的任何問題。

+0

我試着檢查這兩個單選按鈕元素,並且我發現DOM中存在樣式更改,但當設置爲checked =「checked」的默認複選框在兩個選項之間切換時都不會更改。這個屬性不應該出現在我選擇的最後一個單選按鈕中嗎?任何想法爲什麼? – Cofey 2011-06-09 20:24:38

+1

好吧,這是奇怪的,現在我看到你說的行爲。我會認爲該屬性會更新,但也許只是定義最初檢查的值,並不會影響當前選擇哪個輸入。但是,當您單擊源右側窗口中的「DOM」選項卡時,您可以在實時與控件進行交互時看到「已檢查」屬性從true更改爲false,反之亦然。 – Clayton 2011-06-09 21:00:32

+0

是的 - 只要Firebug已經出現了,當然我不是第一個注意到這個的人,所以我很驚訝這個屬性不能被看到。 DOM標籤至少允許我確認我在想什麼,因爲我不能真正測試輸入是否正確更新,因爲我只是在前端工作。 – Cofey 2011-06-09 21:56:33

相關問題