簡體   English   中英

如何使用javascript或jquery迭代自己創建的xhtml節點

[英]How to iterate through own made xhtml nodes with javascript or jquery

我有一個ajax處理程序,可以獲取部分頁面,例如:

<load loadloc="list" method="append" animation="fadein" >
      <li>add something to a list</li>
</load>
<load loadloc="thediv">
      <h1>hello there</h1>
      <p>this is a paragraph</p>
</load>
<load loadloc="theotherdiv">
      <img src="url.com" />
</load>

它使用$(htmlfromajax).filter(function(){ do stuf here });遍歷load元素$(htmlfromajax).filter(function(){ do stuf here });

它工作得很好,但是當php輸入錯誤時,或者我自己輸入其他一些html時,它會嘗試迭代每一行,或者它只是不起作用。 (在js我不能寫多行但是當收到ajax我得到多行時所以)

some php error here
<load loadloc="list" method="append" animation="fadein" >
      <li>add something to a list</li>
</load>
<load loadloc="thediv">
      <h1>hello there</h1>
      <p>this is a paragraph</p>
</load>
<load loadloc="theotherdiv">
      <img src="url.com" />
</load>

我的ajax處理程序的一個簡單示例

如何使用jquery或ajax僅迭代加載元素?

我建議更改響應以遵守有效的XML結構,以防出現錯誤。 例如,將消息包裝在<error>標記中:

<error>sometinhg here</error><load>this</load><load><h1>and this</h1></load>

然后,您只能過濾load元素:

$(data).filter('load').each(function() { ... });

http://jsfiddle.net/XC5Kc/1/

如果您想保持您的回復,請嘗試使用

...
$('<div/>').html(data).find('load').each(function(i, el) {
    // get the load location
    var location = $(el).attr("loadloc");
...

代替

...
$(data).filter(function(){
...

查看更新的小提琴: http//jsfiddle.net/XC5Kc/2/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM