瀏覽器解析js生成的html出現(xiàn)樣式問題的解決方法
更新時(shí)間:2012年04月16日 14:57:18 作者:
接觸css, javascript有三年多了,今天遇到的問題最令我不可思議,很容易給人一種錯(cuò)覺,那就是js拼成的html結(jié)構(gòu)肯定有問題
我實(shí)現(xiàn)的功能是添加標(biāo)簽,無刷新地添加到標(biāo)簽列表的最后,見下圖中第二行,樣式明顯有問題

我反反復(fù)復(fù)地檢查了chrome console的html結(jié)構(gòu),都是一樣一樣的,在IE和FF下我也認(rèn)真比較過的,還是沒有區(qū)別。見下圖

同樣的html結(jié)構(gòu),同樣的style,竟然展現(xiàn)的樣式差異很大,一時(shí)沒了想法,像個(gè)無頭蒼蠅。索性我就把console下的html復(fù)制到notepad++進(jìn)行對比,看出了一點(diǎn)端倪,見下圖。左側(cè)為js生成的html,右側(cè)為頁面(.aspx)中的html

引起樣式差異的原因可能就是左側(cè)缺少換行,我就在每行字符的末尾加了換行符”\n”,這樣樣式的問題就解決拉
var html =
[
"<li id=\"litem_{0}\">\n".format(catId),
"<div>\n",
"<span class=\"checkbox\"><input type=\"checkbox\" name=\"cbItem\" value=\"{0}\" /></span>\n".format(catId),
"<span class=\"name\">{0}</span>\n".format(catName),
"<span><a href=\"javascript:void(0);\" onclick=\"Blog.Cat.edit({0});\">[編輯]</a><a href=\"javascript:void(0);\" onclick=\"Blog.Cat.delCat({0});\">[刪除]</a></span>\n".format(catId),
"</div>",
"<div style=\"display:none;\">\n",
"<span><input type=\"text\" value=\"{0}\"/></span>\n".format(catName),
"<span><button type=\"button\" class=\"button\" onclick=\"Blog.Cat.setCat({0});\">確定</button></span>\n".format(catId),
"<span><button type=\"button\" class=\"button\" onclick=\"Blog.Cat.cancel({0});\">取消</button></span>\n".format(catId),
"</div>\n",
"</li>\n"
].join("");
經(jīng)過長時(shí)間的思考,解決一個(gè)問題,好開心!
作者:清流魚

我反反復(fù)復(fù)地檢查了chrome console的html結(jié)構(gòu),都是一樣一樣的,在IE和FF下我也認(rèn)真比較過的,還是沒有區(qū)別。見下圖

同樣的html結(jié)構(gòu),同樣的style,竟然展現(xiàn)的樣式差異很大,一時(shí)沒了想法,像個(gè)無頭蒼蠅。索性我就把console下的html復(fù)制到notepad++進(jìn)行對比,看出了一點(diǎn)端倪,見下圖。左側(cè)為js生成的html,右側(cè)為頁面(.aspx)中的html

引起樣式差異的原因可能就是左側(cè)缺少換行,我就在每行字符的末尾加了換行符”\n”,這樣樣式的問題就解決拉
復(fù)制代碼 代碼如下:
var html =
[
"<li id=\"litem_{0}\">\n".format(catId),
"<div>\n",
"<span class=\"checkbox\"><input type=\"checkbox\" name=\"cbItem\" value=\"{0}\" /></span>\n".format(catId),
"<span class=\"name\">{0}</span>\n".format(catName),
"<span><a href=\"javascript:void(0);\" onclick=\"Blog.Cat.edit({0});\">[編輯]</a><a href=\"javascript:void(0);\" onclick=\"Blog.Cat.delCat({0});\">[刪除]</a></span>\n".format(catId),
"</div>",
"<div style=\"display:none;\">\n",
"<span><input type=\"text\" value=\"{0}\"/></span>\n".format(catName),
"<span><button type=\"button\" class=\"button\" onclick=\"Blog.Cat.setCat({0});\">確定</button></span>\n".format(catId),
"<span><button type=\"button\" class=\"button\" onclick=\"Blog.Cat.cancel({0});\">取消</button></span>\n".format(catId),
"</div>\n",
"</li>\n"
].join("");
經(jīng)過長時(shí)間的思考,解決一個(gè)問題,好開心!
作者:清流魚
相關(guān)文章
JavaScript 繼承 封裝 多態(tài)實(shí)現(xiàn)及原理詳解
這篇文章主要介紹了JavaScript 繼承 封裝 多態(tài)實(shí)現(xiàn)及原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Jvascript學(xué)習(xí)實(shí)踐案例(開發(fā)常用)
一些在Jvascript學(xué)習(xí)實(shí)踐的實(shí)例代碼,需要的朋友可以參考下2012-06-06JS實(shí)現(xiàn)復(fù)制內(nèi)容到剪貼板功能
本文主要介紹了JS實(shí)現(xiàn)復(fù)制內(nèi)容到剪貼板功能的步驟方法,可兼容所有PC瀏覽器,不兼容手機(jī)端。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02JS實(shí)現(xiàn)使用POST方式發(fā)送請求
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)使用POST方式發(fā)送請求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08javascript實(shí)現(xiàn)移動端 HTML5 圖片上傳預(yù)覽和壓縮功能示例
這篇文章主要介紹了javascript實(shí)現(xiàn)移動端 HTML5 圖片上傳預(yù)覽和壓縮功能,結(jié)合實(shí)例形式分析了javascript移動端 HTML5 圖片上傳預(yù)覽和壓縮功能具體實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05JS實(shí)現(xiàn)定時(shí)頁面彈出類似QQ新聞的提示框
類似QQ新聞的提示框要求頁面每隔半小時(shí)彈出一次提示消息,下面有個(gè)不錯(cuò)的實(shí)現(xiàn)方法,感興趣的朋友可以參考下2013-11-11