0

我的页面内容正在使用 para 标签呈现。数据来自外部 url。我必须在使用 dojo 在页面上呈现后剥离 p 标签。例如

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

我的页面显示“p The stackoverflow is awesome /p”,我必须使用 dojo 将其剥离。我只想得到没有 para 标记的 stackoverflow 很棒。

4

2 回答 2

1

在正则表达式上试过这个:

  • 搜索字符串:\<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 回答