[英]How to get all spans in string variable, with particular class name
由於我越來越難以列出所有跨度, 而其中的class =“ ansspans”可能是一個或多個帶有“ ansspans”類的跨度,因此我需要獲取所有跨度及其內容並對其進行迭代。 你能告訴我該怎么做嗎,正則表達式,jQuery,什么都可以,
內容將在字符串變量中 (而不是在DOM中),因為IE 9忽略了屬性的引號,因此我無法使用getelementbyclass名稱,並且我遵循此答案以獲取引號InnerHTml workAround ,現在其顯示為引號。 所以我需要在數組中獲取所有的anspans類,以便迭代它n獲取每個span的文本內容
<span id="sss_ctl00_ctl06_lblanswertext"> assignment <span class="ansspans">submission </span> date : 10:07:51 AM </span>
在這種情況下,預期輸出將是1個span對象,以便我可以對其進行迭代
更新:我不能使用DOm,因為我們處於怪癖模式,所以9將忽略屬性引號,我不能使用類名getelement遍歷屬性引號。 因此,我需要匹配字符串變量中的所有范圍。 希望每個人都明白我的問題;(
(如之前在此站點上所述,有時可以使用regex解析一組有限的 已知 xml)
//assumes no <span id="stupid>" class="ansspans">, and no embedded span.ansspans
var data = ' <span id="sss_ctl00_ctl06_lblanswertext"> assignment \n date : 10:07:51 AM \n <span class="ansspans">ONE has a new \n line in it</span><span class="ansspans">TWO</span><span class="ansspans">3 </span><span class="ansspans">4 </span><span class="ansspans">5 </span>';
var myregexp = /<span[^>]+?class="ansspans".*?>([\s\S]*?)<\/span>/g;
var match = myregexp.exec(data);
var result = "spans found:\n";
while (match != null) {
result += "match:"+RegExp.$1 + ',\n';
match = myregexp.exec(data);
}
alert(result);
(已編輯以捕獲內部html而不是整個標簽)
使用jQuery的解決方案
var tempArray = $("span.ansspans");//this will select all the span elements having class 'ansspans' and return them in an array
var len = tempArray.length;//calculate the length of the array
for(var index = 0;index<len;index++){
var reqString = $(tempArray[index]).html();
}
這些字符串值既可以放在數組中,也可以在那里使用。
如果需要textContent,請使用.text()而不是.html()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.