2016-03-20 2 views
-1

私はこのjavascrptコード持っている:私はアンカーリンクのDOM要素を作成したいしようと上記のコードではなぜDOMアンカー要素で作成できないのですか?

for (var data in feature.data) { 
     if (!shownParameters[data]) continue; 

     var xmlString = "<a href='www.cnn.com'>Link</a>" 
     var elem = $.parseHTML(xmlString); 

     var item = $("<li>", { style: 'padding:0px;text-align:right' }) 
      .append($('<div>') 
       .append($("<span>", { text: elem }).addClass("view")) 
      .addClass("feature-data-value")) 
      .append($("<div>").addClass("clear-div")); 
     item.appendTo('#wfs-details-list'); 
    } 

を。 しかし、ビューには、私はこの取得:それはビューでどのように見えるかここで

を:私はDOMアンカーリンクelelmentに作成傾ける理由

enter image description here

任意のアイデア?

+1

要素を 'text'プロパティに割り当てます。それはそれが平易な文字列として解釈されるよう強制されます。 '.append(elem)'を使って直接追加するだけです。 – Pointy

+0

また、他のすべての要素を作成しているのと同じ方法で、アンカー要素をjQueryで作成するだけではどうですか? – Pointy

+3

'href = 'www.cnn.com''は、ローカルではない可能性のあるページへの相対的なリンクです... – dandavis

答えて

4

実際に、これは本当の方法ではありませんが、あなたの問題を解決する...

for (var data in feature.data) { 
     if (!shownParameters[data]) continue; 

     var xmlString = "<a href='http://www.cnn.com'>Link</a>"; 
     var item = $("<li>", {style: 'padding:0px;text-align:right'}) 
      .append($('<div>').append($("<span>").append(xmlString)).addClass("view")) 
      .addClass("feature-data-value") 
      .append($("<div>").addClass("clear-div")); 
     item.appendTo('#wfs-details-list'); 
    } 
1

あなたはこれを作成することを目指している場合:

<ul id="wfs-details-list"> 
    <li style="padding:0px;text-align:right" class="feature-data-value"> 
    <div class="view"><span><a href="http://www.cnn.com">Link</a></span> 
    </div> 
    <div class="clear-div"></div> 
    </li> 
</ul> 

を、これは短く明確ではないです

for (var data in feature.data) { 
 
    if (!shownParameters[data]) continue; 
 
    $("<li>", { 
 
     style: 'padding:0px;text-align:right', // belongs in a class 
 
     class: "feature-data-value" 
 
    }) 
 
    .append(
 
     $('<div>', { 
 
     class: "view" 
 
     }) 
 
     .append(
 
     $("<span/>").append(
 
      $("<a/>", { 
 
      href: "http://www.cnn.com", 
 
      text: "Link" 
 
      }) 
 
     ) 
 
    ) 
 
    ) 
 
    .append($("<div/>", { 
 
     class: "clear-div" 
 
    })) 
 
    .appendTo('#wfs-details-list'); 
 
}

関連する問題