JavaScript动态获取PHP循环标签内容的几个方法

最近项目中碰到了一个问题:如何用JavaScript动态获取PHP循环的最后一个标签的内容?

考虑到不能使用JQuery的last(),这里我用了两种办法,跟大家分享下,同时也是对自己基础知识的巩固吧!

方法一:

   <div class="conts">
      <?php 
          for ($i=1; $i <= 10; $i++) { 
      ?>
          <p class='name' name='m' style='background:#f90;'>我排行第<?php echo $i; ?></p>
      <?php
          }
      ?>    
    </div>

    <script type="text/javascript">
         
        //获取标签
        var m = document.getElementsByName('m');
        var p = document.getElementsByTagName('p');
        var x = document.getElementsByClassName('name');

        //计算长度
        var anum = m.length-1;
        var snum = p.length-1;
        var xnum = x.length-1;
        
        //获取数据
        alert(m[anum].innerHTML);
        alert(p[snum].innerHTML);
        alert(x[xnum].innerHTML);
    </script>

 

方法二:

    <div class="conts">
        <p id="name">
            <?php
                for ($i=1; $i <= 10; $i++) { 
                    echo '我排行第'.$i.',';
                }
            ?>
        </p>
    </div>

    <script type="text/javascript">
        var str = document.getElementById('name').innerHTML; //获取标签内容
        str = str.replace(/(^\s*)|(\s*$)/g, "");             //去除两边空格
        str = str.substring(0, str.length-1);                //获取新的长度
        var arr = new Array();
        arr = str.split(',');                                //字符串转换成数组

        //循环获取数据
        for (var i = 0; i < arr.length; i++) {
            alert(arr[i]);
        };

        var num = arr.length-1;
        
        //获取最后一个
        alert(arr[num]);
    </script>

最后不论是for循环还是foreach或者是while,都可以动态获取最后一个标签的内容。

发文的目的在于大家相互交流和学习,如果有更好的办法,希望大家不要吝啬哦~~谢谢啦!

 

posted @ 2015-11-30 17:30  happy1952  阅读(1213)  评论(0编辑  收藏  举报