Javascript 获取prev元素jquery的内容
我在html中加入了这个结构Javascript 获取prev元素jquery的内容,javascript,jquery,Javascript,Jquery,我在html中加入了这个结构 <table border="1" cellpadding="1" cellspacing="2"> <thead> <tr> <th>Name</th><th>Age</th><th>Address</th><th>Option</th> </tr> </thead> <t
<table border="1" cellpadding="1" cellspacing="2">
<thead>
<tr>
<th>Name</th><th>Age</th><th>Address</th><th>Option</th>
</tr>
</thead>
<tbody>
<tr>
<td>here is the name</td>
<td>here is the age</td>
<td>here is the address</td>
<td><button class="update">update</button></td>
</tr>
<tr>
<td>here is the name2</td>
<td>here is the age2</td>
<td>here is the address2</td>
<td><button class="update">update2</button></td>
</tr>
</tbody>
</table>
现在我要做的是,当我点击更新按钮时,我必须能够在同一行中获取地址td的内容,并将其命名为td,并且每个内容必须存储在指定的变量中,例如($name,$age,$address)。假设我有多行,我必须能够检索同一行的address td到name td的内容。更准确地说,正如上面的结构,当我单击u“update”按钮而不是“update2”按钮时,我必须能够获取“here is name”、“here is age”、“here is address”并将每个变量放入指定的变量中,例如($name、$age、$address)
到目前为止,我尝试的是
$('.update').click(function(){
$address = $(this).prev('td').content();
alert ($dateposted);
});
但似乎什么也没有归还。任何帮助都将不胜感激。谢谢大家! 此处
此
是按钮,它没有以前的同级,您要查找的td
是所单击按钮的td
父级的以前同级,您还必须使用/获取内容
$address = $(this).parent().prev('td').text();//$(this).closest('td')
这里有另一种方法。在获得所有前面的div之后,然后循环它们以将值设置为正确的变量
$('.update').click(function () {
var contents = $(this).parent().prevAll('td');
var name;
var age;
var address;
for(i = 0; i<contents.length; i++){
var currentContent = $(contents[i]);
switch(i){
case 0:
name = currentContent.text();
break;
case 1:
age = currentContent.text();
break;
case 2:
address = currentContent.text();
break;
}
}
console.log(address, age, name);
});
$('.update')。单击(函数(){
var contents=$(this.parent().prevAll('td');
变量名;
变量年龄;
var地址;
对于(i=0;icontent()
,或者,因为只有后者才是有效的jQuery方法。谢谢你的回答。我如何获取地址旁边的下一个td?我想获取年龄并将其存储在$age中。名称也是如此。如果你需要获取多个值,那么将类添加到你的TDs中并使用类似于$address=$(this)的东西会更方便('tr').find('td.addess').text();
等等……否则您将面临一个.prev().prev().prev()
噩梦如果你以后更改HTML结构,这是不可靠的。谢谢。我已经解决了。接下来我要做的就是在第一个实现的prev调用中添加.prev,然后再执行其他调用。如果有一天年龄出现在名称之前,这是一个坏主意。你说得对。我必须通过添加类对其进行过滤,以便确保我检索准确的内容。如何访问这些变量,例如名称、年龄和地址。例如,如果我要提醒变量$name内容。我将如何做到这一点?谢谢。我发现你的方法更准确。这符合我的需要。
$('.update').click(function () {
var contents = $(this).parent().prevAll('td');
var name;
var age;
var address;
for(i = 0; i<contents.length; i++){
var currentContent = $(contents[i]);
switch(i){
case 0:
name = currentContent.text();
break;
case 1:
age = currentContent.text();
break;
case 2:
address = currentContent.text();
break;
}
}
console.log(address, age, name);
});