Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从jquery中的表数据中获取span id_Javascript_Jquery_Html - Fatal编程技术网

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

Javascript 如何从jquery中的表数据中获取span id,javascript,jquery,html,Javascript,Jquery,Html,我有一张表格tr和td。在表数据之间有一个span,我想从中获取ID 在我的jquery代码中,它不会从spanid返回任何值 如何获取spanid 我的HTML <table border="1" id="t1"> <tr> <td> <span class="f1" id="111" onclick="subtract();">Subtract</span> </

我有一张
表格
tr
td
。在表数据之间有一个
span
,我想从中获取ID

在我的jquery代码中,它不会从
span
id返回任何值

如何获取
span
id

我的HTML

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

使用jQuery的
attr
方法:

var a = $(this).attr('id');
这允许您从任何jQuery对象元素获取任何属性并返回其值


有关详细信息,请参见元素的
id
属性

var a = this.id;

在jQuery中,使用
attr
函数从HTML元素获取属性


请参阅使用代码的工作示例:

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

$(document).ready(function () {
    $("#t1 span").click(function () {
        var a = $(this).prop('id');
        alert(a);
    });
});
当然,您也可以使用
attr()
代替
prop()

或者使用DOM:

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

您只需在
减法
函数中传递
this

函数减法(元素){
var a=element.id
控制台日志(a);
}

减去
减去
您可以使用内联“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>
或者,您可以在“文档准备就绪”中设置“单击”功能:

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

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

$(this).attr('id')
如果我当时使用内联onclick(),会产生任何问题。学会使用浏览器控制台查看错误。您应该看到
id()不是一个函数
错误,但您从未提到任何错误。这些是帮助你的主要线索
<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>
function substract(spanElement){
   var id = $(spanElement).attr("id");
   alert(id);
}
$(document).ready(function () {
    $("#t1 span").click(function () {
        var id = $(this).attr("id");
        alert(a);
    });
});