2011-10-20 102 views
1

我剛開始學習js並需要您的幫助。XML過濾器應用於非XML值

我有下面的代碼:

<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> 

有了這個代碼,我想弄清楚如何「每個」會分割預標記的內容。以下錯誤消息Firebug的回報:

XML過濾器適用於非XML值

錯誤是由該命令引起的:

$('.test1').(function(){... 

我在做什麼錯?

非常感謝提前!

回答

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> 
0

<pre>標籤中唯一的標籤是文本,所以在這種情況下不需要each()。嘗試這樣的代替:

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

如果你真的想要文本分解,你可以試試這個。

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