ln12341234
2018-01-05 10:26
采纳率: 75%
浏览 1.6k

请问如何使用js正则表达式获取所有class="none"的p标签,使用数组存储

请问如何使用js正则表达式获取所有class="none"的p标签,使用数组存储

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • ddu_163 2018-01-06 16:24
    已采纳
     <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>找出所有class=none的p标签</title>
    </head>
    <body>
        <div class="container">
            <p id="test" class="none">P1</p>
            <span>test</span>
            <p >p2</p>
            <div>
                <P Class = "None">P3</p>
            </div>
            <p>P4</p>
        </div>
    
        <script type="text/javascript">
            var src =  document.body.innerHTML;
            var reg = /<p.*?class[ \t]*=[ \t]*"none".*?>.*?<\/p>/ig;
            var res = src.match(reg); //获取的P标签数组
            var i;
            for(i=0; i< res.length; i++){
                console.log(res[i]);
            }
    
        </script>
    </body>
    </html>
    
    点赞 评论
  • blownewbee 2018-01-05 10:35
     为什么要用正则表达式,用jquery不行么?
    $(“.none p”).each(function() {})
    

    正则表达式需要考虑很多因素,比如说class属性值在属性的位置,元素是闭合和嵌套等等。

    点赞 评论
  • RUCwang 2018-01-05 15:53

    let p = document.getElementsByTagName("p"),
    myP = [];
    for(let i = 0; i < p.length; i++){
    if(p[i].className.match("none")){
    myP.push(p[i]);
    }
    }
    console.log(myP);

    点赞 评论
  • xmcai123 2018-01-06 18:58

    /

    .*?<\/p>/ig 这个正则就可以
    点赞 评论
  • camary_niu 2018-01-10 02:22

    不推介用正则表达式,用jquery特别方便(这是它的长项)

    点赞 评论

相关推荐 更多相似问题