gpt4 book ai didi

javascript - jQuery 选择器中使用的函数参数

转载 作者:行者123 更新时间:2023-11-28 13:23:02 26 4
gpt4 key购买 nike

我有一个事件处理程序,它将新行附加到表中。

$("#pre_script_12").change(function() {
$("#selected_pre_scripts")
.append("<tr><td><a href='javascript:moveScriptUp("
+ this.id
+ ")'>Move</a></td></tr>");

moveScriptUp() 看起来像这样:

function moveScriptDown(id) {
current = $("tr." + id).eq(1);
$(current).prev().before($(current).next());
$(current).prev().before($(current).next());
}

但是,将 id 附加到 tr. 时出现错误。

Error: Syntax error, unrecognized expression: tr.[object HTMLInputElement]

如何将 id 作为参数提供给上述 JavaScript 函数,而在尝试在 jQuery 选择器中使用它时不会出现此错误?

最佳答案

您需要在函数调用中引用字符串。

现在,您的<a>标签看起来像这样:

<a href='javascript:moveScriptUp(pre_script_12)'>Move</a>

在(大多数)浏览器中,所有元素 ID 都成为全局变量,因此 pre_script_12指的是元素。您需要添加引号,因此要传递一个字符串:

$("#selected_pre_scripts")
.append("<tr><td><a href='javascript:moveScriptUp(\""
+ this.id
+ "\")'>Move</a></td></tr>");

附注我强烈推荐使用内联 JavaScript,。为什么不绑定(bind)(委托(delegate))事件处理程序来调用 moveScriptUp()功能?

关于javascript - jQuery 选择器中使用的函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31596987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com