获取prev元素jquery的内容

时间:2015-03-10 01:28:56

标签: 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>
<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>
从上面的结构可以看出,显示将是这个。

table header = Name, Age, Address, Option.
table body = here is the name, here is the age, here is the address, button update
table body = here is the name2, here is the age2, here is the address2, button update2

现在我想要做的是当我点击更新按钮时,我必须能够获得地址td的内容在同一行的名称td,并且每个必须存储在指定的变量中,例如($ name,$ age,$ address)。假设我有多行,我必须只能检索地址td的内容到同一行的名称td。更准确地说,正如上面的结构,我必须得到&#39;这里是名称&#39;,&#39;这里是年龄&#39;,&#39;这里是地址&#39; ;并将每个放在指定的变量中,例如($ name,$ age,$ address)当我点击你的更新&#34;按钮而不是&#34; update2&#34;按钮。

到目前为止,我试过的是。

$('.update').click(function(){
   $address = $(this).prev('td').content();

   alert ($dateposted);

});

但似乎没有返回任何东西。任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:1)

此处this是按钮,没有以前的兄弟,您要查找的td是点按按钮的td父亲的上一个兄弟,也是您必须使用.text() / .html()来获取内容

$address = $(this).parent().prev('td').text();//$(this).closest('td')

答案 1 :(得分:0)

这是另一种方法。获得所有之前的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);

});

有关工作示例,请参阅http://jsfiddle.net/zeskysee/72j1oaqb/4/

希望这有帮助:)