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);
});
});