Javascript 我的代码有什么问题,试图获取第一个元素文本jquery?
看看我的代码,我想让它变成这样,当用户单击表tr时,我将得到第一个td文本,因此jquery我使用first()然后使用text(),但它同时响应td 1和td apple。我只想得到第一个td文本,我做错了什么?谢谢Javascript 我的代码有什么问题,试图获取第一个元素文本jquery?,javascript,jquery,html,Javascript,Jquery,Html,看看我的代码,我想让它变成这样,当用户单击表tr时,我将得到第一个td文本,因此jquery我使用first()然后使用text(),但它同时响应td 1和td apple。我只想得到第一个td文本,我做错了什么?谢谢 var gridtable=$('.gridtable'); gridtable.click(函数(){ var name=$(this.first().text(); 警报(“名称”); }) 1. 苹果 2. 香蕉 内部处理程序此指单击的tr应用方法将检索相同的tr本身。
var gridtable=$('.gridtable');
gridtable.click(函数(){
var name=$(this.first().text();
警报(“名称”);
})
1.
苹果
2.
香蕉
内部处理程序此
指单击的tr
应用方法将检索相同的tr
本身。相反,您需要过滤掉嵌套的td
元素。您可以使用伪类选择器获取第一个元素
var gridtable = $('.gridtable:first');
gridtable.click(function(){
// get the first element within the context
var name = $('td:first', this).text();
alert(name);
});
var gridtable=$('.gridtable');
gridtable.click(函数(){
var name=$('td:first',this).text();
警报(名称);
})
1.
苹果
2.
香蕉
内部处理程序此
指单击的tr
应用方法将检索相同的tr
本身。相反,您需要过滤掉嵌套的td
元素。您可以使用伪类选择器获取第一个元素
var gridtable = $('.gridtable:first');
gridtable.click(function(){
// get the first element within the context
var name = $('td:first', this).text();
alert(name);
});
var gridtable=$('.gridtable');
gridtable.click(函数(){
var name=$('td:first',this).text();
警报(名称);
})
1.
苹果
2.
香蕉
由于要在tr级别连接click处理程序,因此需要使用该功能选择tr中的所有td,然后选择第一个td:
var name = $(this).find('td').first().text();
由于要在tr级别附加click处理程序,因此需要使用函数选择tr中的所有td,然后选择第一个td:
var name = $(this).find('td').first().text();
var gridtable
指的是您的tr
元素,因此当引发$element.click
时,gridtable.first()
您可以使用.gridtable.children()
获取gridtable
的子级,然后使用.first()
子级
请看一下这个例子:
编辑1-
正如@JaromandaX所说,您应该使用var name=$(this)
来获取单击的行。var gridtable
指的是您的tr
元素,因此当$element.click
被提升时,gridtable.first()
用class.gridtable
定位第一个元素
您可以使用.gridtable.children()
获取gridtable
的子项,然后使用.first()
请看一下这个例子:
编辑1-
正如@JaromandaX所说,您应该使用var name=$(this).
来获取单击的行。我认为下面的代码将帮助您,它对我有用
var gridtable = $('.gridtable');
gridtable.click(function(){
var name = $(this).find("td:first").text();// for only first td
or
var name = $(this).find("td:eq(0)").text();// you can change index number like eq(0) ,eq(1) for nect td
alert(name);
})
我认为下面的代码会帮助你,它对我有用
var gridtable = $('.gridtable');
gridtable.click(function(){
var name = $(this).find("td:first").text();// for only first td
or
var name = $(this).find("td:eq(0)").text();// you can change index number like eq(0) ,eq(1) for nect td
alert(name);
})
first不返回第一个子元素,它返回第一个匹配的查询元素-在您的例子中,tr-正如在click函数中,$中只有一个元素(this),您可以执行$(this)。children().first().text()
first不返回第一个子元素,它返回第一个匹配的查询元素-在您的例子中,tr-正如在click函数中,$(this)中只有一个元素一样,您可以执行$(this).children().first().text()
当然应该是警报(名称)
当然应该是警报(名称)
不要在要使用$的单击中使用具有多个tr的gridtable(此)
作为起点不要在要使用$(此)
作为起点的单击中使用gridtable(具有多个tr)