2012-03-07 10 views
0

私はいくつかのxpathを使用して値が設定された配列を持っています。配列内の項目は1〜20 +のように少なくなる可能性があります。javascript配列からオブジェクトを削除します。

私はそうのようにそれを移入しています:

var masterPath = $('items item', response.responseXML) 
    masterPath.each(function (index, obj) { 
    var assignments = $('> data > title', obj).text(); 
    courseHwork.push(assignments); 

しかし、XMLは、それぞれに少し異なっている、すなわち

<data> 
    <title>example</title> 
</data> 

<data> 
    <title>example2</title> 
    <duedate>03-21-12</duedate> 
</data> 

<data> 
    <title>example3</title> 
    <duedate>05-02-12</duedate> 
    <availdate>04-01-12</availdate> 
<data> 

私は必要なのは後者のみ二つのアイテム(つかむことです'duedate'と 'availdate'の両方を含む 'data')

xmlに存在する可能性のあるタグをすべて調べて、それを取得し、置くアレイへの裾?

+0

#1:この1は両方<duedate><availdate>を持っているだけ<data>項目を選択します。 #2はxpathではなく、jqueryセレクタの構文です。 – zzzzBov

+2

FYI、 '$( '> data> title'、obj)'スタイルDOMの選択では、将来の廃止予定があります。最初の '> 'セレクタには左手オペランドがありません。あなたはセレクタのタイプを避けることが最善です。 –

+0

@amnotiam、知っておきたいことですが、その情報の参照がありますか? – zzzzBov

答えて

2

別のセレクタが必要です:http://jsfiddle.net/mKUxw/。それは `jQuery.init`インスタンスだ、それは標準の配列ではありません、

$("> data:has(duedate):has(availdate) > title", obj) 
関連する問題