2014-10-10 90 views
1

我想在點擊標籤後獲取標籤的值。我只使用JavaScript和沒有jQuery。 這裏是我的html:使用javascript獲取標籤的值

<div class="touche 1"> 
    <h1>1</h1> 
</div> 
<div class="touche 2"> 
    <h1>2</h1> 
</div> 
<div class="touche 3"> 
    <h1>3</h1> 
</div> 

我所需要的值1,2,3,等...到一個變量。 div的工作就像一個計算器按鈕!

謝謝!

+8

而你究竟在何處遇到問題,當你試圖解決這個自己? – 2014-10-10 18:18:20

+1

http://stackoverflow.com/questions/19451144/how-do-i-get-html-tag-value-div-in-javascript – 2014-10-10 18:18:32

+0

我只是試過函數$ id(id){return document.getElementById(id) ;} – ahbon 2014-10-10 18:22:52

回答

0

下面是代碼

function getval(thisa) 
 
{ 
 
    alert(thisa.innerHTML); 
 
}
<div class="touche 1"> 
 
    <h1 onclick="getval(this)">1</h1> 
 
</div> 
 
<div class="touche 2"> 
 
    <h1 onclick="getval(this)">2</h1> 
 
</div> 
 
<div class="touche 3"> 
 
    <h1 onclick="getval(this)">3</h1> 
 
</div>

+0

不錯!但它返回 ... – ahbon 2014-10-10 18:41:27

+0

好的!我用thisa.childNodes [0] .innerHTML,它的工作原理!非常感謝 – ahbon 2014-10-10 18:49:44

0

如果要直接訪問<h1>標記,可以使用getElementsByTagName(),它返回一個HTMLElements集合。你可以遍歷一個附加的點擊事件處理程序。

var elms = document.getElementsByTagName("h1"); 
 
    for(var i=0;i<elms.length;i++){ 
 
     elms[i].addEventListener("click",function(){ 
 
     console.log(this.textContent); 
 
    }); 
 
}
<div class="touche 1"> 
 
    <h1>1</h1> 
 
</div> 
 
<div class="touche 2"> 
 
    <h1>2</h1> 
 
</div> 
 
<div class="touche 3"> 
 
    <h1>3</h1> 
 
</div>


如果你要綁定:

裏面的事件處理程序,您可以按如下方式使用它textContent屬性獲取文本(解讀爲價值<div>的收聽者,您可以使用getElementsByTagName()getElementsByClassName()訪問元素,通過它們循環一個nd附加點擊事件監聽器。

在事件處理程序中,您可以使用children屬性訪問<h1>獲取它的值,如上所述。

var elms = document.getElementsByClassName("touche"); 
 
for(var i=0;i<elms.length;i++){ 
 
    elms[i].addEventListener("click",function(){ 
 
    console.log(this.children[0].textContent); 
 
    }); 
 
}
<div class="touche 1"> 
 
    <h1>1</h1> 
 
</div> 
 
<div class="touche 2"> 
 
    <h1>2</h1> 
 
</div> 
 
<div class="touche 3"> 
 
    <h1>3</h1> 
 
</div>

0

使用以下JS來做到這一點。 JSFIDDLE

var controls = document.getElementsByClassName("touche"); 
for(var i = 0;i<controls.length;i++) 
{ 
    controls[i].onclick = function() { 
     console.log(this.childNodes[1].innerText); 

     alert(this.childNodes[1].innerText); 
    }; 
} 
相關問題