为啥jQuery在输出html代码后下面的内容不再执行了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥jQuery在输出html代码后下面的内容不再执行了相关的知识,希望对你有一定的参考价值。
近期在学习jQuery,跟着书上的代码在练习,就是在我想输出ul的html代码的时候,下面的输出却不执行了。希望高手给个好理解的解答,不胜感激。
<script type="text/javascript" src="../scripts/jquery-1.3.1.js"></script>
<script type="text/javascript">
$(document).ready(function()
var $ul = $("ul").children();
alert("ul").html();
for(var i = 0; i < $ul.length; i++)
alert($ul[i].innerHTML);
);
</script>
</head>
<body>
<p title="选择你最喜欢的水果." >你最喜欢的水果是?</p>
<ul>
<li title='苹果'>苹果</li>
<li title='橘子'>橘子</li>
<li title='菠萝'>菠萝</li>
</ul>
</body>
目测是这句出错了
你的意思应该是希望打印<ul>节点的innerHtml?
那么应该是: alert($("ul").html());
还有,jquery元素和js元素请不要混用,容易出问题
$ul = $("ul).children() 这里的 $ul是一个jquery元素
因此:$ul[i].innerHTML 最好改成 $ul[i].html()
还有,既然用jquery就要用的彻底,不要再用for循环了
试试jquery的 .each(),再回头来看现在的for,是不是觉得for实在很逊?
祝你好运 :)追问
非常感谢你的帮助 ,呵呵 ,说的太有用了。再请教你一个问题吧 还是上面的内容。
var $p1 = $("p");
alert( $p1.html() );
var $ul = $("ul");
alert( $ul.html() );
为什么一个弹出的是p标签里的内容,一个弹出的带有html标签呢?
XXXX.html将会输出这个XXXX节点内的html内容
很明显
你的标签里面的内容是: 你最喜欢的水果是?
你的标签里面的内容是:苹果
橘子
菠萝
你得到的输出是这些,对吧 - -#
以上是关于为啥jQuery在输出html代码后下面的内容不再执行了的主要内容,如果未能解决你的问题,请参考以下文章
为啥在 Jquery 中添加“阻止程序”类后我的事件绑定不再触发?