2017-01-07 7 views
0

私はjQueryとHTMLエンティティで作業を考え出したが、HTMLエンティティは自動的にをデコードしないに問題がある、私は推測します。jqueryのデコードのhtmlエンティティµ

私は多くを研究し、いくつかのjquery htmlエンティティデコードオプションを試しましたが、私の人生にとってはこれを理解できません。どんな入力も大歓迎です!

jqueryライブラリ3.1.1 btwを使用しています。

最初に別の要素を取り除き、新しい要素に再構成するこのスクリプトは正常に動作します。このように

<ul class="productList"> 
    <li class="product"> 
    <p class="summary_description"> 
    [[25µg, ABP-NAB-BFGFAB]] 
    </p> 
    </li> 
    </ul> 

出力:それは、これを変更

<ul class="productList"> 
<li class="product"> 
<p class="summary_description"> 
<div class="prodosku">ABP-NAB-BFGFAB</div> 
<div class="prodoweight">25&micro;g</div> 
</p> 
</li> 
</ul> 

25個の&マイクロとして表示します。 (もちろんw/oスペース)ですが、ご覧のとおり、htmlエンティティ& micro; µシンボルに変換/デコードしません。

$(document).ready(function() { 
    if($(".categoryPage").length > 0) { 
     $("#product-listing-container .productList li").each(function() { 
    var content = $(this).val(".summary_description").html(); 
      content = content.substr(content.indexOf("[["), content.indexOf("]]")); 

      var weight = '<div class="prodoweight">'; 
      var sku = '<div class="prodosku">'; 
      weight += content.substr(content.indexOf("[[") + 2, content.indexOf(",") - 2); 
      weight += "</div>"; 
      sku += content.substr(content.indexOf(",") + 1, content.indexOf("]]") - content.indexOf(",") - 1); 
      sku += "</div>"; 

    $(this).find(".summary_description").html(sku+weight); 
     }); 
    } }); 

&マイクロµシンボルにデコードされますことを確認する方法はあります?

私はこのような行に沿って、.prodoweightの変更が含まれていることを確認するために考えていましたが、動作させることはできません。

if($(".productList li").length > 0) { 
    var decoded = $(".prodoweight").html().text(); 
    $(".prodoweight").html(decoded); 
    } 

またはユニコードで試してみますか?

if($(".productList li").length > 0) { 
     var txt = $(".prodoweight").html(); 
     txt = txt.replace("\&micro\;", /\[\[([\w\s,\-\u00B5.&;])+\]\]/g); 
     $(".prodoweight").html(txt); 
    } 

またはこれは最初のスクリプトでこれを行うより良い方法ですか?ありがとうございました。

答えて

0

はラインこれに

var content = $(this).val(".summary_description").html(); 

変更:

var content = $(this).val(".summary_description").text(); 

を、それが魅力のように働きました。

関連する問題