2017-06-03 58 views
0

我想通過類名獲取內容,但是當我運行腳本時,我得到了未定義的內容......我在做什麼錯了?按類名獲取內容javascript

<!DOCTYPE html> 
<html> 
<body> 

<td class="a-size-base">B000FNFSPY</td> 

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() { 

var x = document.getElementsByClassName("a-size-base").innerText; 
    document.write(x) 
} 
</script> 

</body> 
</html> 

回答

1

下面是解:

<!DOCTYPE html> 
<html> 
    <body> 
    <div class="a-size-base">B000FNFSPY</div> 
    <button onclick="myFunction()">Try it</button> 
<script> 
    function myFunction() { 
    var x = document.getElementsByClassName("a-size-base")[0].innerText; 
    document.write(x) 
    } 
</script> 
</body> 
</html> 

當瀏覽器與td編譯然後由於不使用table標籤,因此它使得它,因爲它是和省略td標籤。

0

您誤用了<td>標記,它必須放在表格中。 或者它不會通過webkit或大多數瀏覽器呈現到DOM中。

在Chrome中測試。看,<td>不在那裏。

getElementsByTagName返回一個數組。但你第一步出錯了,所以它還沒有到達。

enter image description here

function myFunction() { 
 
    var x = document.getElementsByClassName("a-size-base"); 
 
    document.write(x); 
 
}
<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 
<td class="a-size-base">B000FNFSPY</td> 
 

 
<button onclick="myFunction()">Try it</button> 
 

 
</body> 
 
</html>

0

你可以這樣說:

<!DOCTYPE html> 
<html> 
<body> 

<div class="a-size-base">B000FNFSPY</div> 

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() { 

var x = document.getElementsByClassName("a-size-base"); 
    document.write(x[0].innerHTML) 
} 
</script> 

</body> 
</html> 
0

的getElementsByClassName方法方法返回元素的數組類集合。你應該循環訪問它們的innerText。