2012-07-10 223 views
1

这是我的html页面。渲染HTML页面

<body> 
<div id="form1"> 
    <root xmlns:NS='www.yembi.com'> 
    <NS:ENTRY Action='Users'> 
    <div class="colm1"> 
     <NS:DISPLAY datafield="FirstName"></NS:DISPLAY>    
    </div> 
    <div class="colm2"> 
     <NS:Text datafield='FirstName'/> 
    </div> 
    <div class="colm1"> 
     <NS:DISPLAY datafield="MiddleName"></NS:DISPLAY> 
    </div> 
    <div class="colm2"> 
     <NS:Text datafield='MiddleName'/> 
    </div> 
    <div class="colm1"> 
     <NS:DISPLAY datafield="LastName"></NS:DISPLAY> 
    </div> 
    <div class="colm2"> 
     <NS:Text datafield='LastName'/> 
    </div> 
    <div class="colm1"> 
     <NS:DISPLAY datafield="Phone"></NS:DISPLAY> 
    </div> 
    <div class="colm2"> 
     <NS:Text datafield='Phone'/> 
    </div> 
    <div class="colm3"> 
     <NS:BUTTON ></NS:BUTTON> 
    </div> 
    </NS:ENTRY> 
    </root> 
</div> 

我想获得这个网站到一个临时变量。所以像下面试过

var Text = $("#form1").html(); 

我得到完整的html内容,但有一点例外。 它不显示div属性中的双引号。

我得到以下的输出:正如上面提到的,它会自动删除DIV双引号

<ROOT xmlns:NS='www.yembi.com'> 
    <NS:ENTRY Action='Users'> 
    <DIV class=colm1> 
     <NS:DISPLAY datafield="FirstName"></NS:DISPLAY>    
    </DIV> 
    <DIV class=colm2> // Here it automatically removes the double quotes. how to retain this double quotes ? 
     <NS:Text datafield='FirstName'/> 
    </DIV> 
    <DIV class=colm1> 
     <NS:DISPLAY datafield="MiddleName"></NS:DISPLAY> 
    </DIV> 
    <DIV class=colm2> 
     <NS:Text datafield='MiddleName'/> 
    </div> 
    <DIV class=colm1> 
     <NS:DISPLAY datafield="LastName"></NS:DISPLAY> 
    </DIV> 
    <DIV class=colm2> 
     <NS:Text datafield='LastName'/> 
    </DIV> 
    <DIVclass=colm1> 
     <NS:DISPLAY datafield="Phone"></NS:DISPLAY> 
    </DIV> 
    <DIV class=colm2> 
     <NS:Text datafield='Phone'/> 
    </DIV> 
    <DIV class=colm3> 
     <NS:BUTTON ></NS:BUTTON> 
    </DIV> 
    </NS:ENTRY> 
    </ROOT> 

。如何保留这个双引号?

+0

尽管如此,它仍然是有效的不带引号的HTML。 – Stefan 2012-07-10 10:14:02

回答

1

我怀疑你是使用jQuery或等价物:

看到这里从文档: “此方法使用浏览器的innerHTML属性某些浏览器可能不会返回HTML恰好复制HTML源在原稿中例如,如果Internet Explorer仅包含字母数字字符,则有时会忽略属性值的引号。“

http://api.jquery.com/html/

所以这真的是依赖于浏览器。您可以使用JavaScript正则表达式来确保引号是您需要它们的位置: Regex to put quotes for html attributes

+0

感谢mihaisimi ...正则表达式为HTML属性 - 此链接工作正常.. :) – watraplion 2012-07-10 11:08:51