如何获取jquery的跨度值
我试图通过如下方式将span id的值传递给函数来获取span文本:如何获取jquery的跨度值,jquery,Jquery,我试图通过如下方式将span id的值传递给函数来获取span文本: function getDetails(testDetailId){ alert(jq("#"+testDetailId).text()); } 当点击被调用时,我总是收到空警报: jq("table tr").click(function(){ var testDetailId = jq(this).attr("id"); getDetails(testDetailId); }); 我使用jquery没有冲突: var
function getDetails(testDetailId){
alert(jq("#"+testDetailId).text());
}
当点击被调用时,我总是收到空警报:
jq("table tr").click(function(){
var testDetailId = jq(this).attr("id");
getDetails(testDetailId);
});
我使用jquery没有冲突:
var jq = jQuery.noConflict();
一些html:
<span id="2">[{"testId":22,"testPerfReports":[]}]</span>
[{“testId”:22,“testPerfReports”:[]}]
有什么想法吗?这是因为您正在捕获
的点击事件。由于它们是表的一部分,因此没有text()
函数。如果要获取跨度的文本,请尝试执行以下操作:
jq("table tr").click(function(){
var concatenatedValues = $.map($('jq(this).find('span').text(), function (text) {
return option.value;
}).join(',');
alert(concatenatedValues);
});
在我看来,
tr
元素和span
具有相同的ID
这可能是问题所在,ID必须是唯一的 看看你的分数会有帮助的。你的代码有点奇怪。。。为什么有这个额外的
getDetails
函数?您已经有了对元素的引用,this
,因此您可以在事件处理程序中执行jq(this).text()
(如果这是您想要的,我对此表示怀疑,但这与您正在执行的操作相同)。另外,2是无效的id名称@如果你指的是菲利克斯·克林斯潘,那么他根本就不在谈判桌上to@ScottE:HTML5中允许以数字开头的ID。