渲染HTML页面

时间:2012-07-10 10:10:51

标签: 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>

我想把这个html变成一个临时变量。所以尝试如下

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

我正在获得完整的HTML内容,但有一些例外。 它不在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>

如上所述,它会自动删除DIV中的双引号。如何保留这个双引号??

1 个答案:

答案 0 :(得分:1)

我怀疑你使用的是jQuery或同等产品:

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

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

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