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,都可以动态获取最后一个标签的内容。
发文的目的在于大家相互交流和学习,如果有更好的办法,希望大家不要吝啬哦~~谢谢啦!