我刚开始学习js并需要你的帮助。
我有以下代码:
<html>
<head>
<title>test</title>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('.test1').(function(){
this.each(function () {
var a = $(this);
alert(a);
});
});
});
</script>
</head>
<body>
<pre class="test1">
blabla1
blabla2
blabla3
</pre>
</body>
</html>
使用此代码,我想了解“each”将如何拆分预标签的内容。 Firebug返回以下错误消息:
XML过滤器应用于非XML值
错误是由以下命令引起的:
$('.test1').(function(){...
我做错了什么?
非常感谢提前!
答案 0 :(得分:0)
<pre>
标记内部唯一的内容是文字,因此在这种情况下不需要each()
。尝试这样的事情:
<script type="text/javascript">
$(function (){
alert($(".test1").text());
});
</script>
答案 1 :(得分:0)
如果你真的希望文本细分,你可以试试这个。
$.each( $('.test1').text().split('\n'), function(index,value){
alert( value );
});
答案 2 :(得分:0)
如果您真的想了解.each
在您的示例中的工作原理,请将代码更改为:
$(function () {
$('.test1').each(function(){
var a = $(this);
alert(a.html());
});
});
但是,就像@James_Johnson先前所说的那样,.each
函数中的代码只会执行一次,所以你可能会看到
blabla1
blabla2
blabla3
警告信息中的
要使.each
迭代,你必须像
<html>
<head>
<title>test</title>
<script src="jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('.test1 p').each(function(){
var a = $(this);
alert(a.html());
});
});
</script>
</head>
<body>
<pre class="test1">
<p>blabla1</p>
<p>blabla2</p>
<p>blabla3</p>
</pre>
</body>
</html>