使用层次结构css(没有id / classes)和javascript获取td表的值

时间:2018-05-02 18:14:03

标签: javascript jquery

我正在尝试使用javascript获取td值usgin层次结构css的值。 这是我的代码:

当我点击元素时,此代码返回第一个td的值,但我的警报未定义。

我如何解决?

var ee = $(".table tr td:nth-child(1)").attr('value');

$(".table").on('click', function (e) {
    e.preventDefault();    
    alert(ee);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table">
    <tr>
        <td>one</td>
        <td>two</td>
    </tr>
</table>

2 个答案:

答案 0 :(得分:2)

<td>没有,这就是原因:

var ee = $(".table tr td:nth-child(1)").text();

$(".table").on('click', function (e) {
    e.preventDefault();    
    alert(ee);
});

您的点击活动很好。你只是抓住一个未定义的项目,因此警报的行为如何。你需要抓住<td>--this--</td>

有用的建议:

这不会给你第一个<td>的文字,因为那不是第n个孩子如何使用它。如果您需要,请尝试将其作为选择器:

var ee = $(".table tr td:eq(0)").text();

0 第三

您还可以在功能标题中删除 e.preventDefault()和e。与表单或按钮不同,表没有默认操作。

答案 1 :(得分:1)

使用

var ee = $(".table tr td:nth-child(1)").html();

而不是

var ee = $(".table tr td:nth-child(1)").attr('value');

第一个会引用标记上的value属性,就像输入一个。例如:<input type="radio" name="field" value="1" >