jQuery:按类获取点击范围的内容

时间:2012-05-30 07:52:02

标签: jquery

我有几个span个标签,同一个类。每个span都有它唯一的ID。现在,我想获取所点击的span类的内容和ID。

我发现了如何查看班级的ID,但我似乎无法获得<span></span>标签之间的内容。我尝试了this.html()this.htmlthis.textthis.tex(),但我无法获得该文字。

$(".row").click(function() {
    alert(this.id);
    alert(this.html);
}

HTML:

<div>
    <span class="row" id="1">Username of user 1</span>
    <span class="row" id="2">Username of user 2</span>
<div>

8 个答案:

答案 0 :(得分:4)

您的id无效(他们无法以数字开头),因此请更改它们并尝试此操作

<div id="parent">
    <span class="row" id="s1">Username of user 1</span>
    <span class="row" id="s2">Username of user 2</span>
    ...
</div>

的jQuery

$("#parent").on('click', '.row', function() {
    alert(this.id);
    alert(this.innerHTML);
});

这样做你将使用event delegation,捕获父项上的click事件并仅定义一次处理程序(而不是昂贵的,每span个)

答案 1 :(得分:3)

利用.html()功能,您将获得元素的内容

$(".row").click(function() {
    alert(this.id);
    alert($(this).html());
});

Working Demo

答案 2 :(得分:2)

您可以使用innnerHTML,但最后错过了);

$(".row").click(function() {
    alert(this.id);
    alert(this.innerHTML);
});

答案 3 :(得分:2)

见这里。 http://jsfiddle.net/2aA92/1/

$(".row").click(function() {
  alert(this.id);
  alert($(this).text());
});​

答案 4 :(得分:1)

id = $(this).attr('id');
html = $(this).html();

答案 5 :(得分:0)

$(".row").click(function() {
    alert(this.id);
    alert($(this).text()); // or this.innerHTML
}

答案 6 :(得分:0)

你需要这个:

$(".row").click(function() {
    alert($(this).attr('id'));
    alert($(this).html());
}

<div>
    <span class="row" id="1">Username of user 1</span
    <span class="row" id="2">Username of user 2</span
<div>

答案 7 :(得分:0)

试试这个:

window.onload = function() {
  $(".row").click(function() {
    alert(this.id);
    alert($(this).html());
  });
}