如何从jquery中的表数据中获取span id

时间:2016-05-30 15:04:08

标签: javascript jquery html

我有CycledLeScanCallback tabletr。在表数据之间有一个td,我想从中获取ID。

在我的jquery代码中,它没有从span id返回任何值。

如何获取span ID?

我的HTML

span

我的jQuery

<table border="1" id="t1">
    <tr>
        <td>
            <span class="f1" id="111" onclick="subtract();">Subtract</span>
        </td>
  </tr>
  <tr>
      <td>
            <span class="f2" id="222" onclick="subtract();">Subtract</span>
      </td>
  </tr>
</table>

6 个答案:

答案 0 :(得分:5)

使用jQuery&#39; attr方法:

var a = $(this).attr('id');

这允许您从任何jQuery对象元素中获取任何属性并返回其值。

jQuery attr() Docs

中的更多信息

答案 1 :(得分:0)

您可以使用Element

id属性
var a = this.id;

答案 2 :(得分:0)

在jQuery中,我们使用attr函数从HTML元素中获取属性。 http://api.jquery.com/attr/

使用您的代码查看工作示例:https://jsfiddle.net/e2vonuor/

答案 3 :(得分:0)

问题在于你将一个不存在的方法链接到一个jQuery的$(this)对象,id既不是函数也不是方法,在jQuery或DOM中:它是一个属性,属于一个HTMLElement。因此,使用有效的jQuery方法来检索属性:

$(document).ready(function () {
    $("#t1 span").click(function () {
        var a = $(this).prop('id');
        alert(a);
    });
});

虽然您当然也可以使用attr()代替prop()

$(document).ready(function () {
    $("#t1 span").click(function () {
        var a = $(this).attr('id');
        alert(a);
    });
});

或者使用DOM:

$(document).ready(function () {
    $("#t1 span").click(function () {
        var a = this.id;
        alert(a);
    });
});

答案 4 :(得分:0)

您只需在this函数中传递subtract

即可

function subtract(element) {
    var a = element.id
    console.log(a);
}
<table id="t1" border="1">
    <tr>
        <td><span id="111" class="f1" onclick="subtract(this);">Subtract</span></td>
    </tr>
    <tr>
        <td><span id="222" class="f2" onclick="subtract(this);">Subtract</span></td>
    </tr>
</table>

另一个解决方案是使用jQuery .attr()

$('table#t1 span').click(function() {
    var a = $(this).attr('id');
    console.log(a);
});
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<table id="t1" border="1">
    <tr>
        <td><span id="111" class="f1">Subtract</span></td>
    </tr>
    <tr>
        <td><span id="222" class="f2">Subtract</span></td>
    </tr>
</table>

答案 5 :(得分:0)

您可以使用内联“onclick”,在这种情况下,您可以将实际元素作为参数发送:

<table id="t1" border="1">
<tr>
    <td><span id="111" class="f1" onclick="subtract(this);">Subtract</span></td>
</tr>
<tr>
    <td><span id="222" class="f2" onclick="subtract(this);">Subtract</span></td>
</tr>

的jQuery

function substract(spanElement){
   var id = $(spanElement).attr("id");
   alert(id);
}

或者您在文档中设置了点击功能:

$(document).ready(function () {
    $("#t1 span").click(function () {
        var id = $(this).attr("id");
        alert(a);
    });
});

我还建议您使用console.log而不是alert函数进行调试。但这是一个偏好的问题。