2017-03-04 65 views
0

我有很多跨度這樣警報innerHTML的

<span class="ttt" onclick="go($this());" > home </span > 

我想在每一個跨度點擊警報innerHTMLs

Function go(rad) { 
    Var neww =rad.innerHTML; 
    alert (neww); 
} 

請我幫忙 感謝

+0

代碼格式化 –

回答

0

你的時候可以使用下面的代碼。

$(document).ready(function(){ 
 
    $("span.ttt").on('click', function(){ 
 
    var val = $(this).html(); 
 
    alert(val); 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span class="ttt" > home </span >

+1

由於它的工作 – alis

+0

請接受答案 – aje

0

不能傳遞(這一點)HTML標記它只是不會工作裏面。 ,你可以使用jQuery綁定點擊事件函數與TTT類的所有跨度:

<span class="ttt">home</span> 

和點擊功能:

$('span.ttt').click(function() { 
    alert($(this).html()); 
}); 

這應該用jQuery工作與

+0

*「你無法通過(這個)html標籤裏面根本不會工作」 * - 當然可以,這只是OP做錯了,沒有正確定義功能。 'onclick =「go(this);''會將clicked元素作爲參數調用'go()'。 – nnnnnn

0

三個問題您現有的代碼:

  1. 沒有$this()功能。你的onclick處理程序應該是:

    onclick="go(this);" 
    
  2. Function應該是function - JS是區分大小寫的。

  3. Var應該是var

解決這些問題,它的工作原理:

function go(rad) { 
 
    var neww = rad.innerHTML; 
 
    alert (neww); 
 
}
<span class="ttt" onclick="go(this);" > home </span> 
 
<span class="ttt" onclick="go(this);" > option b </span> 
 
<span class="ttt" onclick="go(this);" > option c </span>

然而,鑑於你已經使用上了你的問題了 「jQuery的」 標籤,你可以整理代碼從HTML中刪除內聯onclick屬性,並只是用一些簡單的jQuery來完成:

$(document).ready(function() { 
 
    $("span.ttt").click(function() { 
 
    alert($(this).html()); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<span class="ttt"> home </span> 
 
<span class="ttt"> option b </span> 
 
<span class="ttt"> option c </span>

注意,$(document).ready()是可選的,如果你包括在腳本中的JS在文檔體的一端(元素後引用)。

+0

是的,正確的感謝 – alis

+0

我怎樣才能添加一個文本到web網址,而不刷新我使用ajax但不工作? – alis

+0

對不起,我不明白你的意思。 (聽起來像是一個無關的問題。) – nnnnnn

0

這可以在沒有JQuery的情況下通過將點擊事件監聽器附加到具有所需類的每個元素的body來完成。此方法適用於任何數量的類成員。

<!DOCTYPE html> 
<html lang="en"> 
<head><title>Click on Class</title></head> 
<body onload="listen();"> 

<span class="ttt">Home</span> 
<span class="ttt">About</span> 
<span class="ttt">Contact</span> 

<script> 
    function listen() { 
     document.body.addEventListener('click', function (element) { 
      if (element.target.className === 'ttt') { 
       alert(element.target.innerHTML); 
      } 
     }); 
    } 
</script> 

</body> 
</html> 
0

問題與您的代碼:

  • 你通過$(this()),你打算叫thisfunction並將其轉換成一個jQuery對象。你需要傳遞$(this)的jquery對象,而不是
  • 你打算傳遞一個jquery對象,然後使用它的innerHTML,而它沒有這樣的事情。它有一個.html()函數,而不是
  • 我不認爲alert ing html將是一個好主意。我想你的意思innerText代替innerHTML,所以.text()代替.html()
  • Function不正確,你需要function代替
  • 你沒有格式化你的代碼正確
  • var而不是Var

這是你的HTML應該如何看起來像

<span class="ttt" onclick="go($(this));" > home </span > 

和你的Javascript

function go(rad) { 
    var neww = rad.text(); 
    alert(neww); 
}