我有CycledLeScanCallback
table
和tr
。在表数据之间有一个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>
答案 0 :(得分:5)
使用jQuery&#39; attr
方法:
var a = $(this).attr('id');
这允许您从任何jQuery对象元素中获取任何属性并返回其值。
中的更多信息答案 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函数进行调试。但这是一个偏好的问题。