1

这是我的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 中的双引号。如何保留这个双引号?

4

1 回答 1

1

我怀疑您使用的是 jQuery 或等效的:

请参阅文档中的此处:“此方法使用浏览器的 innerHTML 属性。某些浏览器可能不会返回与原始文档中的 HTML 源完全相同的 HTML。例如,如果属性值仅包含字母数字,Internet Explorer 有时会省略属性值的引号人物。”

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

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

于 2012-07-10T10:14:07.437 回答