我正在尝试使用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>
答案 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" >