未捕获的TypeError:无法读取属性'匹配'迭代索引时未定义的

时间:2016-08-26 10:39:34

标签: javascript jquery

我收到错误

  

未捕获的TypeError:无法读取属性'匹配'未定义的

当我尝试运行此代码时:

var str = 'exercise_files_attributes_' + index + '_content';
var textarea = $('textarea[id=str]');
alert(textarea.val());

基本上我尝试获取textarea的内容,但在警报中我只收到消息" undefined"。

当我通过

获得textarea时
var textarea = $('textarea[id="exercise_files_attributes_1_content"]')]');
一切正常。

当我打印索引值时,我也会得到正确的答案。

这可能是什么问题?

2 个答案:

答案 0 :(得分:1)

您的选择器出错了,请看这里。

var str = 'exercise_files_attributes_' + index + '_content';
var textarea = $('textarea[id=str]'); // <-- str is a string and -----  
alert(textarea.val());                                               -
                                                                     -
$('textarea[id="' + str + '"]'); // < -- should be like this ---------

您使用str作为字符串,这就是为什么JavaScript找不到您的元素。

答案 1 :(得分:0)

你可以尝试

var textarea = $('textarea[id="exercise_files_attributes_'+index+'_content"]')]');