通过类找到最接近的跨度到tr

时间:2013-10-30 17:03:50

标签: javascript php jquery

您好我在谷歌和该网站的任何地方都进行了很多搜索,但我的选择器确实存在问题。

你有一个由php生成的动态表。我有一些按钮来编辑内容,所以我尝试编辑它,同时点击编辑按钮,但它似乎没有找到好的项目。事实上一无所获。

Acutaly我有:

每行一个名为edit的按钮,它有一个名为changer_etat

的类

然后我有jquery代码:

$('.changer_etat').click(function(){
   var date_depart = $(this).closest('tr').find('span.date_depart').val();
   console.log(date_depart);
});

我尝试在当前span中找到名为date_etat的{​​{1}},其中是我点击的按钮。

但是实际上没有给我任何回报,我已经尝试了很多东西,做了一些搜索,但没有成功。

我试过这个

tr

返回undefined

非常感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

使用需要.text().html()而不是.val()

$('.changer_etat').click(function(){
   var date_depart = $(this).closest('tr').find('span.date_depart').text();
   console.log(date_depart);
});

答案 1 :(得分:1)

您可能需要使用动态选择器,因为您的表是动态生成的。另外,正如其他人所说,你会想要使用html,因为你正在抓住跨度的 html 。 Spans没有值属性。

$('html').on('click', '.changer_etat', function(){
   var date_depart = $(this).closest('tr').find('span.date_depart').html();
   console.log(date_depart);
});    

答案 2 :(得分:1)

使用html()

$('.changer_etat').click(function(){
   var date_depart = $(this).closest('tr').find('span.date_depart').html();
console.log(date_depart);
});

答案 3 :(得分:0)

“find('span.date_depart')”和“找到一个名为date_etat的范围”之间是否存在拼写错误?至少这适用于Firefox 25.0 / Linux:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $('.changer_etat').click(function() {
                var date_depart = $(this).closest('tr').find('span.date_etat').html();
                console.log("date_depart="+date_depart);
            });
        });
    </script>
</head>
<body>
    <table>
        <tbody>
            <tr><td><span class="date_etat">i am content 1</span></td><td><button class="changer_etat">button action</button></td></tr>
            <tr><td><span class="date_etat">i am content 2</span><button class="changer_etat">button action</button></td></tr>
        </tbody>
    </table>
</body>
</html>