XML过滤器应用于非XML值

XML filter is applied to non-XML value

本文关键字:XML 应用于 过滤器      更新时间:2023-09-26

我刚开始学习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(){...

我做错了什么?

提前感谢!

如果你真的想看看.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>

<pre>标记内部的唯一内容是文本,因此在这种情况下不需要each()。试试这样做:

<script type="text/javascript">  
    $(function (){  
        alert($(".test1").text());
    }); 
</script> 

如果你真的想分解文本,你可以试试这个。

$.each( $('.test1').text().split(''n'), function(index,value){ 
    alert( value ); 
});