2012-03-07 5 views
0

일부 xpath를 사용하여 채워진 배열이 있습니다. 배열의 항목은 1-20 +만큼 작을 수 있습니다.자바 스크립트 배열에서 객체 제거

그래서처럼 채우는 오전 : 그러나

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'가 모두 포함 된 '데이터').

xml에 존재할 수있는 모든 태그를 살펴본 다음 두 번째 태그와 availdates를 가진 태그 만 가져 오는 가장 좋은 방법은 무엇입니까? ~을 넣다 배열에 밑단?

+0

# 1 :이 사람은 모두 <duedate><availdate>가있는 경우에만 <data> 항목을 선택합니다. # 2는 xpath가 아니며 jquery selector 구문입니다. – zzzzBov

+2

FYI,'$ ('> data> title', obj)'style DOM selection을 위해 계획된 미래의 deprecation이있다. 첫 번째'>'selector는 왼손 피연산자가 없다. 선택자 인 –

+0

@ amnotiam을 피하는 것이 가장 좋습니다. 그 정보에 대한 참조가 있으니 알아 두시기 바랍니다. – zzzzBov

답변

2

다른 선택자를 원한다 : http://jsfiddle.net/mKUxw/. 그것은`jQuery.init` 인스턴스의, 즉 표준 배열이 아니다,

$("> data:has(duedate):has(availdate) > title", obj)