問(wèn)題:IE7中無(wú)法使用Jquery動(dòng)態(tài)操作頁(yè)面元素的name屬性。
豐潤(rùn)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!
在項(xiàng)目中有出現(xiàn)問(wèn)題,某些客戶的機(jī)器偶爾會(huì)有,后臺(tái)取不到前臺(tái)的數(shù)據(jù)值。
然開(kāi)發(fā)和測(cè)試環(huán)境總是不能重現(xiàn)問(wèn)題??拥幘驮谟诖?,不能重現(xiàn)就不能調(diào)試,就不能知道改了后還會(huì)不會(huì)有這樣的問(wèn)題。
想想可能與客戶環(huán)境唯一不同就只有可能是js緩存問(wèn)題了,然后把所有的js文件引用的地方都加上一個(gè)當(dāng)前時(shí)間參數(shù),然問(wèn)題依然存在。
本來(lái)規(guī)定的版本就是IE8,所以也沒(méi)有想過(guò)會(huì)有版本兼容問(wèn)題,在說(shuō)了咱用的是jquery,jqeruy的出現(xiàn)不就是號(hào)稱(chēng)為了解決瀏覽器的兼容問(wèn)題么。
該死了問(wèn)題,還真實(shí)版本問(wèn)題。因?yàn)槟承╉?yè)面需要用到IE8的兼容模式,然兼容模式其實(shí)就是像下兼容,那不就是兼容IE7 了么?
于是本地用demo測(cè)試了下。
IE8:
ok!
IE8兼容模式:
??為什么 $("#input").attr("name")
取到的是修改后的值,而$("#div").html()
取到的name還是原先的值??
F12查看生成的html
擦 submitName 是什么東東?明顯name沒(méi)有改變。submitName 應(yīng)該是jquery生成的 然后讀取name的時(shí)候 也是直接讀取的submitName 的值。
那 為什么$("#div").html()
取的值中沒(méi)有submitName 呢 ?? 我也不知道jquery中的html方法是怎么實(shí)現(xiàn)的~~
項(xiàng)目中的實(shí)現(xiàn)方式類(lèi)似于:
這樣 在IE8和谷歌瀏覽器 取值正常,在IE8兼容模式卻取不到值?!静灰獑?wèn)為什么非要這么賦值取值,這是demo'類(lèi)似于'的實(shí)現(xiàn),且是一個(gè)框架】
解決方案:
1.直接用jquery修改name 然后訪問(wèn)name是ok的,雖然 中間是生成了submitName 。
2.可以先$("#div2").html($("#div").html());
然后在修改.attr("name", "myname");
3.可以直接拼接html。 $("#div").html("")
最后百度了下,原來(lái)是 IE7不能用document.getElementsByName()訪問(wèn)js動(dòng)態(tài)創(chuàng)建和修改后的name值。
總結(jié)
以上所述是小編給大家介紹的解決IE7中使用jQuery動(dòng)態(tài)操作name問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!