0

私のページのコンテンツは para タグでレンダリングされます。データは外部 URL から取得されます。Dojo を使用してページでレンダリングした後、p タグを削除する必要があります。たとえば

<div class="truncateP">
        <p>The Stackoverflow is awesome</p>
</div>

私のページには「p The stackoverflow is awesome /p 」と表示されていますが、これは Dojo を使用して削除する必要があります。だけを取得したい

4

2 に答える 2

1

Regexpalでこれを試しました:

  • 検索文字列:\<p\>(.*)\</p>
  • 文字列を置換:\1

それがうまくいくことを願っています。

于 2013-02-01T12:02:12.503 に答える
0

div 要素を検索して置き換えるだけです。例えば:

<div class="truncateP">
    <p>The Stackoverflow is awesome</p>
</div>
<script type="text/javascript">
    require([
        "dojo/ready",
        "dojo/query",
        "dojo/dom-attr"
    ], function(ready, $, domAttr){
        ready(function(){ // Wait till the page is rendered
            var div = $(".truncateP");
            if(div.length > 0){ // check that the div is found
                var html = domAttr.get(div[0], "innerHTML");
                html = html.replace(/\<p\>|\<\/p\>/g,"");
                domAttr.set(div[0], "innerHTML", html);
            }
        });
    });
</script>

これにはいくつかの注意事項があります。

  1. 外部 URL からロードしている場合は、コンテンツを変更する前に、コンテンツがロードされて画面にレンダリングされていることを確認する必要があります。ready() を使用するだけでは十分ではありません。
  2. dom クエリは、class = truncateP を検索しています。ページにそのクラスが複数ある場合は、最初のクラスのみが解析されます。
  3. コンテンツ内のすべての段落要素が削除されます。
于 2013-02-01T12:10:45.853 に答える