2 回答

TA貢獻1735條經驗 獲得超5個贊
包括我自己在內(其實我也就這兩天才知道這樣可以快速獲取的),很多jQuery的使用者都對這一問題深感疑惑。為什么在眾多方便的各種獲取屬性和設置屬性的方法中就不能像DOM中一樣直接設置html元素的outerHTML呢? 原生DOM中獲取和設置html元素的outerHTML大家都很熟悉: // 原生DOM獲取outerHTML alert('原生DOM獲取outerHTML'); alert(document.getElementById('lz66303').outerHTML); // 原生DOM設置outerHTML alert('原生DOM設置outerHTML'); document.getElementById('lz66303').outerHTML = '<textarea id="lz66303"><hr>原生DOM設置outerHTML</textarea>'; 當然在jQuery中我們可以用.prop()方法來獲取和設置html元素的outerHTML,在網上若搜索jQuery獲取outerHTML竟然還有人寫出函數來了,可悲!——jQuery自帶的方法不知還自以為自己寫個函數這種方法是什么好的解決方案。 當你看到本文時,請轉給更多還在用自定義函數獲取outerHTML的jQuery使用者——我這個經驗就沒白分享了! 其實就這么簡單: // 成功獲取到 alert('jQuery.prop()獲取outerHTML'); alert($('textarea').prop('outerHTML')); // 成功設置,已生效 alert('jQuery.prop()設置outerHTML'); $('textarea').prop('outerHTML', '<input>');
添加回答
舉報