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を使用して、引用符が必要な場所にあることを確認できます 。html属性の引用符を配置するRegex

于 2012-07-10T10:14:07.437 に答える