警告很多跨度的innerHTML

时间:2017-03-04 07:40:22

标签: jquery html

我有很多这样的跨度

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

我希望点击每个范围提醒innerHTMLs

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

请帮帮我 感谢

5 个答案:

答案 0 :(得分:0)

您可以使用以下代码。

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

答案 1 :(得分:0)

你不能在html标签内传递(这个)它根本不会工作。 并且您可以使用jQuery将click事件函数绑定到所有跨度与ttt类:

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

和点击功能:

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

这应该适用于jQuery

答案 2 :(得分:0)

现有代码存在三个问题:

  1. 没有$this()功能。你的onclick处理程序应该是:

    onclick="go(this);"
    
  2. Function应为function - JS区分大小写。

  3. Var应为var

  4. 修复这些问题并且有效:

    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>

    请注意,如果您将JS包含在文档正文末尾的脚本中(在它引用的元素之后),则$(document).ready()是可选的。

答案 3 :(得分:0)

这可以在没有JQuery的情况下完成,方法是将click事件监听器附加到具有所需类的每个元素的主体。此方法适用于任意数量的类成员。

<!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>

答案 4 :(得分:0)

代码问题:

  • 您通过$(this())打算将this作为function调用,并将其转换为jquery对象。您需要传递$(this)的jquery对象而不是
  • 你打算传递一个jquery对象,然后使用它的innerHTML,而它没有这样的东西。它有一个.html()函数
  • 我认为alert 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);
}