[英]jQuery get DOM element as string
說我有
$(":input[type=text]:first")
如何得到
<input type="text" value="" size="28" maxlength="140" tabindex="1" placeholder="search" class="textbox" name="q" autocomplete="off">
假設我在SO上運行它?
更新我不想調用.parent()
因為我在父元素中有很多其他東西。
怎么樣
$(selector).prop("outerHTML");
var selector = ":input[type=text]:first";
var str = $(selector).clone().wrap('<div/>').parent().html();
更新您不必擔心調用.parent()
因為您正在使用原始選擇器的孤立克隆。
通過附加到創建的元素來使用jQuery.html() 。
$('<div/>').append($(":input[type=text]:first").clone()).html()
這是一個提供示例的小提琴: http : //jsfiddle.net/Zwbmx/1/
關於@Blazemonger已經回答的內容,如果你要將這個html內容發送到服務器,那么刪除所有不添加任何值的不必要的標簽,空格和換行符是值得的。
var quote = $(".invoice") //get hidden print-version DOM element
.clone()
.wrap('<div/>')
.parent()
.html()
.replace(/ /g, '') //get rid of indentation spaces
.replace(/(\r\n|\n|\r)/gm, "") //get rid of line breaks
.replace(/<!--[\s\S]*?-->/g, ""); //get rid of comment tags
我的html有50kb,在擺脫這些東西后,它減少到4kb!
怎么樣:
var str = $(selector)[0]
也許添加一個檢查,返回一個元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.