2017-06-11 47 views
0

我想搜索我的html類,然後搜索此類span。 然後我想使用split功能這個span元素得到value,但我得到這個錯誤:javascript錯誤拆分不是函數

Uncaught TypeError: paranula.split is not a function

function hledat() { 
 

 
\t var divs = document.getElementsByClassName("ardiv"); 
 

 
\t for (var i = 0; i < divs.length; i++) { 
 
\t \t var para = divs[i].getElementsByTagName("span"); 
 
\t \t var paranula = para[0]; 
 
\t \t console.log(paranula); 
 
\t \t var parasplit = paranula.split(">"); 
 
\t \t console.log(parasplit[1]); 
 
\t } 
 

 
    } 
 

 
    hledat();
<span class="hiddenid">188</span>

+0

爲什麼使用'split'函數而不是'paranula.id'? 'split'用於分割字符串而不選擇/過濾元素或獲取屬性。 – Joe

+0

你的代碼片段可以工作,所以我假定'getElementByTagName'返回的'0'元素不是你期待的範圍。嘗試縮小選擇器;也許'id'會是一個更好的方法。 – squgeim

+0

我明白你現在要做什麼,使用'ID'令人困惑。而不是將span HTML解析爲字符串,只需使用'parseInt(paranula.innerText)',並將該id作爲數字。 – Joe

回答

2

paranula是HTML元素 - 一種JS對象,而不是字符串。要訪問它作爲一個字符串,使用

var parasplit = paranula.outerHTML.split(">"); 

但是,如果你需要的是採取「188」從提供的示例中,使用

var result= paranula.innerHTML 

元素的ID是另一件事 - 像這樣的元素

<span id="188" class="hiddenid"></span> 

你可以得到 「188」 與

var result= paranula.id 
+0

謝謝你,'var result = paranula.innerHTML'的工作。 –