Javascript 将JS变量与.attr()一起使用

Javascript 将JS变量与.attr()一起使用,javascript,jquery,variables,attr,Javascript,Jquery,Variables,Attr,这应该很简单-我想在.attr()元素中使用javascript变量“foo”,如下所示: $("#readreplytxt_" + msgid).attr("onClick", "readofferclose(foo)"); 我试过这个: $("#readreplytxt_" + msgid).attr("onClick", "readofferclose("+ foo")"); 然而,没有快乐 我如何才能做到这一点?如果您已经在使用脚本分配click,为什么不使用该方法绑定事件,类似于:

这应该很简单-我想在.attr()元素中使用javascript变量“foo”,如下所示:

$("#readreplytxt_" + msgid).attr("onClick", "readofferclose(foo)");
我试过这个:

$("#readreplytxt_" + msgid).attr("onClick", "readofferclose("+ foo")");
然而,没有快乐


我如何才能做到这一点?

如果您已经在使用脚本分配click,为什么不使用该方法绑定事件,类似于:

$("#readreplytxt_" + msgid).click(function(){
    readofferclose(foo);
});

这将使您的javascript变得更漂亮。

如果您已经在使用脚本分配单击,为什么不使用该方法绑定事件,类似于以下内容:

$("#readreplytxt_" + msgid).click(function(){
    readofferclose(foo);
});
它将使您的javascript变得更漂亮。

注意,您缺少“+”符号

请注意,您缺少“+”符号


改为附加事件处理程序:

$("#readreplytxt_" + msgid).click(function (event) {
    event.preventDefault(); // prevent the default click action
    readofferclose(foo);
});

改为附加事件处理程序:

$("#readreplytxt_" + msgid).click(function (event) {
    event.preventDefault(); // prevent the default click action
    readofferclose(foo);
});

为什么你要尝试这样做而不是仅仅调用
。click()
“readofferclose(+foo+”)”
,但是为什么不直接应用
。在(“click”,function(){})
?控制台会告诉你
“readofferclose(+foo”)”
有什么问题。你为什么要尝试这样做而不是仅仅调用
。click()
“readofferclose(“+foo+”””
但为什么不直接应用
。在(“单击”,function(){})
?控制台会告诉您
“readofferclose(+foo)”有什么问题“
。基本上它是一个隐藏/显示按钮,因此当运行显示元素的函数时,它会将按钮运行的函数更改为隐藏函数,但是这些函数都需要传递给它们的foo变量。+1此代码将创建对
foo
的隐藏引用,因此,当函数最终被调用时,它将看到当前值。如果您为每个元素创建一个新的
foo
变量,则此操作有效。@Steve\M如果您构建一个隐藏/显示按钮,您可能会感兴趣。toggle()@Steve\M:一种方法可能是使用两个类并使用
toggleClass()
。或者您可以使用
.css(“height”,“20px”)
,根据需要更改值
20px
。基本上它是一个隐藏/显示按钮,因此当运行显示元素的函数时,它会将按钮运行的函数更改为隐藏函数,但是,这些函数中的每一个都需要传递给它们的foo变量。+1此代码将创建对
foo
的隐藏引用,因此函数在最终调用时将看到当前值。如果为每个元素创建一个新的
foo
变量,那么这就行了。@Steve\M如果你构建了一个隐藏/显示按钮,你可能会感兴趣。toggle()@Steve\M:一种方法是使用两个类,然后使用
toggleClass()
。或者您可以使用
.css(“高度”,“20px”)
,根据需要更改值
20px