Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从元素检索文本时未定义_Javascript_Jquery_Html - Fatal编程技术网

Javascript 从元素检索文本时未定义

Javascript 从元素检索文本时未定义,javascript,jquery,html,Javascript,Jquery,Html,我有这个密码 <tr><td id="name">TEXT 1</td> <td><input type="button" class="button_add" value="Add" ></td></tr> <tr><td id="name">TEXT 2</td> <td><input type="button" class="button_add"

我有这个密码

<tr><td id="name">TEXT 1</td> 
<td><input type="button" class="button_add" value="Add" ></td></tr>
<tr><td id="name">TEXT 2</td> 
<td><input type="button" class="button_add" value="Add" ></td></tr>
但当我点击按钮时,我得到以下错误:

TypeError:$(…)。属性(…)未定义


但它不起作用。我遗漏了什么?

元素的ID必须是唯一的,所以使用
名称作为类而不是ID

由于在同一tr中需要td的值,请使用.nestest查找
tr
,然后使用类选择器查找
td

$('.按钮添加')。单击(函数(){
var name=$(this.closest(“tr”).find('td.name').html();
//或者因为目标td是按钮父元素的前一个同级元素
//var name=$(this.parent().prev().html();
警报(“这是您的文本”+名称);
});

文本1
文本2

将使用
.parent()
而不是
.closest()
though@Lo是的。。。已将其添加为建议。。。然后需要使用
.prev()
您不能在html文档中两次使用相同的
id
值。我不清楚当用户单击
.button\u add
时您想做什么。但是我可以说,您有一个错误,因为您试图从输入中获取一个属性
name
(您尚未设置)。此外,您应该执行类似于
$(this).attr('name')
(不带
#
符号)的操作。你真的应该。
$('.button_add').click(function() {
    var name = $(this).attr("#name").html();
    alert('This is your text' + name);
});