Thinkphp3.2 多个$(document).ready(function()不执行

cjq003 2017-07-14 04:08:40
请问为什么以下代码,循环语句中的$(document).ready(function()不会执行呢?alert 没弹出来,对应标签也没隐藏掉!
去掉循环就没问题,但我需要循环,因为数据是动态的。请不吝赐教,谢谢!


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="/js/jquery.min.js"></script>
</head>
<body>
<volist name="list" id="vo">
<div id="p{$vo.code}">
AAA
</div>

<script type="text/javascript">
alert(" ok ");
$(document).ready(function() {
$("#p{$vo.code}").hide();
});
</script>
</volist>
</body>
</html>
...全文
361 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xwn_2016 2017-07-18
  • 打赏
  • 举报
回复
引用 15 楼 cjq003 的回复:
[quote=引用 13 楼 xwn_2016 的回复:]
<script type="text/javascript">
var code = $("#p{$vo.code}");
$(document).ready(function() {
alert(" ok ");
code.hide();
});
</script>
这样试一下看看


谢谢回复!这样alert不会弹出来,也没隐藏,请看:http://pkhoo.com/b.html
谢谢![/quote]


js有语法错误,改改先
cjq003 2017-07-18
  • 打赏
  • 举报
回复
引用 14 楼 wangdan_2013 的回复:
不知道你是不是报错了,我这边按照你的代码测试过,
$ is not defined
会报这个错误, 我认为原因是你的php里面循环用的$和jquery里面的$冲突,jquery无法识别,你可以试试原生的javascript代码来获取id;
var code = document.getElementById("p{$vo.code}");
谢谢回复,用原生的就无法用.hide()方法了吧,但是我想用hide()方法 代码比较简洁! 谢谢!
cjq003 2017-07-18
  • 打赏
  • 举报
回复
引用 13 楼 xwn_2016 的回复:
<script type="text/javascript">
var code = $("#p{$vo.code}");
$(document).ready(function() {
alert(" ok ");
code.hide();
});
</script>
这样试一下看看


谢谢回复!这样alert不会弹出来,也没隐藏,请看:http://pkhoo.com/b.html
谢谢!
wangdan_2013 2017-07-18
  • 打赏
  • 举报
回复
不知道你是不是报错了,我这边按照你的代码测试过,
$ is not defined
会报这个错误, 我认为原因是你的php里面循环用的$和jquery里面的$冲突,jquery无法识别,你可以试试原生的javascript代码来获取id;
var code = document.getElementById("p{$vo.code}");
xwn_2016 2017-07-17
  • 打赏
  • 举报
回复
引用 4 楼 cjq003 的回复:
[quote=引用 2 楼 xwn_2016 的回复:] 第一,可能list里没值 第二,ready里$("#p{$vo.code}")这个貌似取不到
谢谢二位的回复,经跟踪,list有数据的,有很多控件都循环出现了,只是我这边省略了这些控件代码。 为什么$("#p{$vo.code}")取不到值呢? 经测试,不循环的话,直接$("#p1_2")是取得到值的,代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="__PUBLIC__/js/jquery.min.js"></script>
</head>
<body>
        <div class="row pwstjdd" id="p1_2">
            报名项目 
        </div>            
      </div>     
    
	  <script type="text/javascript">		
          $(document).ready(function () {
              alert("ok");
              $("#p1_2").hide();
		  });
      </script>
  </body>
</html>
现在主要是循环了,$(document).ready(function() { 里的代码不执行,包括那个alert! 请进一步指点,十分感谢![/quote] <script type="text/javascript"> var code = $("#p{$vo.code}"); $(document).ready(function() { alert(" ok "); code.hide(); }); </script> 这样试一下看看
cjq003 2017-07-17
  • 打赏
  • 举报
回复
卡在这边了,请求援助,谢谢大家!
cjq003 2017-07-16
  • 打赏
  • 举报
回复
引用 10 楼 apollokk 的回复:
虽然不太规范,但是代码没有问题,可以正常运行的。不是不你的JQuery引用不正确?
谢谢您的回复!是否可以帮我看看,http://pkhoo.com/b.html 中的第二个checkbox下的内容为何启动时不会隐藏,选中反选checkbox,下面那些内容不会 显示/隐藏。而选中/反选 第一个checkbox就可以 显示/隐藏 checkbox下方内容。 而为什么 http://pkhoo.com/a.html 三组控件启动时都隐藏了。 再看看为什么 http://pkhoo.com/sportzonewechart/index.php/home/Qualifying2/Qualifying?qualifyingid=230&openid=oGWX6s2rveOe3xC4RLxFVSRaYbZ8 两个checkbox点击了都没响应,启动时也没隐藏checkbox下方内容? jquery应该都引用对了。请进一步指点一下,十分感谢!
Hello World, 2017-07-15
  • 打赏
  • 举报
回复
引用 9 楼 cjq003 的回复:
[quote=引用 7 楼 apollokk 的回复:] 还是把生成的HTML代码弄出来看看吧,这样看是没问题的
谢谢回复,页面的源代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="/js/jquery.min.js"></script>
</head>
<body>
<div id="partners02_1">
          报名项目
</div>
    
<script type="text/javascript">		
	$(document).ready(function () {
		alert(" ok ");
		$("#partners02_1").hide();
	});
</script>
 
<div id="partners01_2">
          报名项目
</div>	
    
<script type="text/javascript">		
	$(document).ready(function () {
		alert(" ok ");
		$("#partners01_2").hide();
	});
</script>
	
<div id="partners01_1">
          报名项目
</div>
   
<script type="text/javascript">		
	$(document).ready(function () {
		alert(" ok ");
		$("#partners01_1").hide();
	});
</script>
</body>
</html>
[/quote] 虽然不太规范,但是代码没有问题,可以正常运行的。不是不你的JQuery引用不正确?
  • 打赏
  • 举报
回复
引用 4 楼 cjq003 的回复:
[quote=引用 2 楼 xwn_2016 的回复:] 第一,可能list里没值 第二,ready里$("#p{$vo.code}")这个貌似取不到
谢谢二位的回复,经跟踪,list有数据的,有很多控件都循环出现了,只是我这边省略了这些控件代码。 为什么$("#p{$vo.code}")取不到值呢? 经测试,不循环的话,直接$("#p1_2")是取得到值的,代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="__PUBLIC__/js/jquery.min.js"></script>
</head>
<body>
        <div class="row pwstjdd" id="p1_2">
            报名项目 
        </div>            
      </div>     
    
	  <script type="text/javascript">		
          $(document).ready(function () {
              alert("ok");
              $("#p1_2").hide();
		  });
      </script>
  </body>
</html>
现在主要是循环了,$(document).ready(function() { 里的代码不执行,包括那个alert! 请进一步指点,十分感谢![/quote] 说明你jquery路径不对。。自己检查jquery路径
Hello World, 2017-07-14
  • 打赏
  • 举报
回复
还是把生成的HTML代码弄出来看看吧,这样看是没问题的
cjq003 2017-07-14
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
发客户端生成的内容,不要发服务器端的,感觉你没有发布网站通过http协议访问吧?? 不懂php,或者vo没有数据,就没有生成遍历的内容
谢谢回复,经跟踪,vo有数据的,有很多控件都循环出现了,只是我这边省略了这些控件代码。 为什么$("#p{$vo.code}")取不到值呢? 经测试,去掉循环的话,直接$("#p1_2")是取得到值的,代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="__PUBLIC__/js/jquery.min.js"></script>
</head>
<body>
        <div class="row pwstjdd" id="p1_2">
            报名项目 
        </div>       
     
      <script type="text/javascript">       
          $(document).ready(function () {
              alert("ok");
              $("#p1_2").hide();
          });
      </script>
  </body>
</html>
而一楼循环代码中 $(document).ready(function() { 里的代码不执行,包括那个alert! 请进一步指点,十分感谢!
cjq003 2017-07-14
  • 打赏
  • 举报
回复
顶楼的代码copy错了,更正:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="/js/jquery.min.js"></script>
</head>
<body>
<volist name="list" id="vo"> 
        <div id="p{$vo.code}">
            AAA 
        </div>     
     
    <script type="text/javascript">
          $(document).ready(function() {
              alert(" ok ");       
              $("#p{$vo.code}").hide();
      });
      </script>
</volist>
</body>
</html>
cjq003 2017-07-14
  • 打赏
  • 举报
回复
引用 2 楼 xwn_2016 的回复:
第一,可能list里没值 第二,ready里$("#p{$vo.code}")这个貌似取不到
谢谢二位的回复,经跟踪,list有数据的,有很多控件都循环出现了,只是我这边省略了这些控件代码。 为什么$("#p{$vo.code}")取不到值呢? 经测试,不循环的话,直接$("#p1_2")是取得到值的,代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="__PUBLIC__/js/jquery.min.js"></script>
</head>
<body>
        <div class="row pwstjdd" id="p1_2">
            报名项目 
        </div>            
      </div>     
    
	  <script type="text/javascript">		
          $(document).ready(function () {
              alert("ok");
              $("#p1_2").hide();
		  });
      </script>
  </body>
</html>
现在主要是循环了,$(document).ready(function() { 里的代码不执行,包括那个alert! 请进一步指点,十分感谢!
2017-07-14
  • 打赏
  • 举报
回复
把生成的html发出来
xwn_2016 2017-07-14
  • 打赏
  • 举报
回复
第一,可能list里没值 第二,ready里$("#p{$vo.code}")这个貌似取不到
  • 打赏
  • 举报
回复
发客户端生成的内容,不要发服务器端的,感觉你没有发布网站通过http协议访问吧?? 不懂php,或者vo没有数据,就没有生成遍历的内容

87,990

社区成员

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

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