jquery获取当前

crszhi 2018-02-23 03:35:07

<c:forEach items="${printList }" var="p">
<div>
<table class="table_list" >
<tr>
<td width="12%" nowrap="nowrap" class="td_css head_td">姓名</td>
<td width="12%" nowrap="nowrap" class="td_css" >${p.userName }</td>
.........
.........
</table>
<script type="text/javascript">
$(document).ready(function() {
var arr = "${p.userPayType}".split(",");
var arr1 = "${p.userPayFund}".split(",");
var flag = 1;
n:for(var i = 0;i<arr.length;i++){
for(var j = i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
continue n;
}
}
$('script').eq(-1).parent().find('.table_list').find('tr').eq(flag).find('td').eq(-2).append(arr[i]);
$('script').eq(-1).parent().find('.table_list').find('tr').eq(flag).find('td').eq(-1).append(arr1[i]);
flag++;
}
})
</script>
</div>
</c:forEach>

$('script').eq(-1)换成当前<script>标签对象
...全文
894 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-02-23
  • 打赏
  • 举报
回复
引用 5 楼 crszhi 的回复:
[quote=引用 4 楼 jslang 的回复:] 不要用$(document).ready()事件。让代码在全局环境下随页面边解析边执行。 $(document).ready()事件是文档解析完才执行的。在$(document).ready()事件中获取,获取的都是页面中最后一个<script>标签对象,不是当前<script>标签对象
用onload?onload好像是加载完页面所有元素才执行?哈哈,所以怎么让代码在全局环境下随页面边解析边执行?[/quote]
<c:forEach items="${printList }" var="p">
<div>
<table class="table_list" >
	<tr>
		<td width="12%" nowrap="nowrap" class="td_css head_td">姓名</td>
		<td width="12%" nowrap="nowrap" class="td_css" >${p.userName }</td>
		.........
		.........
</table>
<script type="text/javascript">
	(function() {
		var arr = "${p.userPayType}".split(",");
		var arr1 = "${p.userPayFund}".split(",");
		var flag = 1;
		n:for(var i = 0;i<arr.length;i++){
			for(var j = i+1;j<arr.length;j++){
				if(arr[i]==arr[j]){
					continue n;
				}
			} 
			$('script').eq(-1).parent().find('.table_list').find('tr').eq(flag).find('td').eq(-2).append(arr[i]);
			$('script').eq(-1).parent().find('.table_list').find('tr').eq(flag).find('td').eq(-1).append(arr1[i]);
			flag++;
		}
	})();
</script>
</div>						
</c:forEach>
crszhi 2018-02-23
  • 打赏
  • 举报
回复
引用 4 楼 jslang 的回复:
不要用$(document).ready()事件。让代码在全局环境下随页面边解析边执行。 $(document).ready()事件是文档解析完才执行的。在$(document).ready()事件中获取,获取的都是页面中最后一个<script>标签对象,不是当前<script>标签对象
用onload?onload好像是加载完页面所有元素才执行?哈哈,所以怎么让代码在全局环境下随页面边解析边执行?
天际的海浪 2018-02-23
  • 打赏
  • 举报
回复
不要用$(document).ready()事件。让代码在全局环境下随页面边解析边执行。 $(document).ready()事件是文档解析完才执行的。在$(document).ready()事件中获取,获取的都是页面中最后一个<script>标签对象,不是当前<script>标签对象
crszhi 2018-02-23
  • 打赏
  • 举报
回复
就是直接获取,有这种方法吗?
crszhi 2018-02-23
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:

<c:forEach items="${printList }" var="p">
    <div>
        <table class="table_list" >
            <tr>
                <td width="12%" nowrap="nowrap" class="td_css head_td">姓名</td>
                <td width="12%" nowrap="nowrap" class="td_css" >${p.userName }</td>
                .........
                .........
        </table>
        <script type="text/javascript" flag="${p.id}">
            $(document).ready(function() {
                var sign="${p.id}";
                var arr = "${p.userPayType}".split(",");
                var arr1 = "${p.userPayFund}".split(",");
                var flag = 1;
                n:for(var i = 0;i<arr.length;i++){
                    for(var j = i+1;j<arr.length;j++){
                        if(arr[i]==arr[j]){
                            continue n;
                        }
                    }
                    var thisscript=document.querySelector('script[flag="${p.id}"]');
                    thisscript.parent().find('.table_list').find('tr').eq(flag).find('td').eq(-2).append(arr[i]);
                    thisscript.parent().find('.table_list').find('tr').eq(flag).find('td').eq(-1).append(arr1[i]);
                    flag++;
                }
            })
        </script>
    </div>
</c:forEach>
刚刚也用类似方式解决,没办法获取当前<script>标签对象吗?
似梦飞花 2018-02-23
  • 打赏
  • 举报
回复

<c:forEach items="${printList }" var="p">
    <div>
        <table class="table_list" >
            <tr>
                <td width="12%" nowrap="nowrap" class="td_css head_td">姓名</td>
                <td width="12%" nowrap="nowrap" class="td_css" >${p.userName }</td>
                .........
                .........
        </table>
        <script type="text/javascript" flag="${p.id}">
            $(document).ready(function() {
                var sign="${p.id}";
                var arr = "${p.userPayType}".split(",");
                var arr1 = "${p.userPayFund}".split(",");
                var flag = 1;
                n:for(var i = 0;i<arr.length;i++){
                    for(var j = i+1;j<arr.length;j++){
                        if(arr[i]==arr[j]){
                            continue n;
                        }
                    }
                    var thisscript=document.querySelector('script[flag="${p.id}"]');
                    thisscript.parent().find('.table_list').find('tr').eq(flag).find('td').eq(-2).append(arr[i]);
                    thisscript.parent().find('.table_list').find('tr').eq(flag).find('td').eq(-1).append(arr1[i]);
                    flag++;
                }
            })
        </script>
    </div>
</c:forEach>

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧