我有以下代码:
var add_to_selected_users = function(row){
var tds = row.find('td');
var tr =$("<tr/>");
tr.append("<td>" + tds.eq(0).text() + "</td>");
tr.append("<td>" + tds.eq(1).text() + "</td>");
tr.append("<td>" + tds.eq(2).text() + "</td>");
tr.append("<td>" + tds.eq(3).text() + "</td>");
tr.attr('id', id.substring(4));
$('#selected_users').append(tr);
}
我正在尝试使用逻辑创建一个函数,该逻辑创建并向selected_users表添加一个新函数,因为我在代码中不止一次地执行此操作。
以下是我所做的功能:
thisTR.siblings().filter(function() {
if ($('td',this).eq(2).text() == $('td', thisTR).eq(2).text() ) {
add_to_selected_users($(this));
};
});
所以我修改了主要代码,试图像这样调用这个函数:
tr.attr('id', id.substring(4));
问题
当我调用该函数时,我收到一条错误消息:
ReferenceError:未定义id
它在我执行此操作的函数中的代码行上失败了:
add_to_selected_users($(this));
当我将它嵌入if语句中而不是函数的一部分时,此代码不会失败。
我迄今为止所做的事
我试图改变我从这个方法调用方法的方式:
add_to_selected_users(this);
到此:
@:H
但这并没有什么不同。关于我可能缺少什么的任何建议?
答案 0 :(得分:0)
如果您尝试使用行的ID:
tr.attr('id', row.attr('id').substring(4));
答案 1 :(得分:0)
没有定义id变量。
import javax.swing.JFrame;
import javax.swing.JButton;
public class Frame {
public static int num1 = 0;
public static void main(String[] args){
JFrame f = new JFrame("Cookie Clicker");
JButton b1 = new JButton(num1);
f.setSize(500, 300);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.add(b1);
}
}
这一行使用一个名为id的变量,试图在其上调用一个名为substring的函数。
tr.attr('id', id.substring(4));
您的代码中没有任何地方定义了“id”变量。
答案 2 :(得分:0)
您没有定义id
,因为错误说明了。这意味着,在父作用域中缺少id。您可以通过
if(typeof id == 'undefined' || id == null) id = ...
这可以防止错误,您将再次定义id
,因为这是需要做的事情。