在開發過程中,jQuery.html() 是取得目前節點下的html程式碼,並不包含目前節點本身的程式碼,然後我們有時候確需要,找遍jQuery api文件也沒有任何方法可以拿到。
看到有的人透過parent().html(),如果當前元素沒有兄弟元素還好,如果有那就行不通了。後來實驗發現有一個jQuery的一個方法可以解決,而且非常簡便,如下:
jQuery.prop("outerHTML");
hello,你好!
hello,你好!
因為原生JS DOM裡有一個內建屬性outerHTML (看清大小寫哦,JS是區分大小寫的)用來取得目前節點的html程式碼(包含目前節點),所以用jQuery的prop()能拿到,經過實驗attr()方法是拿不到的,不信的話,大家也可以嘗試嘗試,謝謝。
當然也有人用jQuery的 clone() 函數來配合append() 來建立一個只有一個子元素的節點,然後來拿節點的html,這也是可行的,但是程式碼繁瑣。