2014-12-03 46 views
0

我從一個角度獲取請求中獲取一些html,並試圖從此響應中獲取一些特定元素。哪一個是div類的「post-holder」列表。提取html工作正常,但要提取每個div分別插入有一些麻煩。從javascript變量javascript getElementsByClassName

這是我與嘗試代碼:

var firstTag = '<main id="posts">'; 
var res = data.substring(data.indexOf(firstTag) + firstTag.length, data.indexOf('</main>')); 
var html2 = $.parseHTML(res); 
var x = html2.getElementsByClassName("post-holder"); 

最後一行給我下面的錯誤中鉻:「類型錯誤:未定義是不是一個函數」。

我在猜測,getElementsByClass有一些與jquery生成的變量麻煩。還有另外一種方法可以解決我現有的問題嗎?

回答

2

參見the documentation for parseHTML

Returns: Array

Description: Parses a string into an array of DOM nodes.

getElementsByClassName是DOM元素,而不是在陣列上的方法。您需要遍歷數組,檢查每個值是否爲元素(而不是文本節點或註釋),然後調用getElementsByClassName的值。

或者您可以構建一個jQuery對象,並使用.find()來代替。