将 jQuery 函数 insertBefore() 转换为 before() 以附加隐藏输入
Convert jQuery function insertBefore() to before() for appending a hidden input
我有一段代码使用 jQuery 附加由 attr()
函数创建的隐藏字段(具有适当的属性)。我目前正在使用 insertBefore()
函数,如下所示:
$('<input>').attr({
name: 'token',
type: 'hidden',
value: 'value',
}).insertBefore( $('#form_id :submit') );
这在我的 #form_id
表单的 submit
按钮之前正确地附加了一个新的隐藏 DOM 输入元素,但我想改用 before()
,因为在定义内容之前选择我的目标对我来说似乎更具可读性。
就在 post 回答我上面的问题之前,我又尝试了一次从头开始使用 before()
,这次我以某种方式成功了。所以我决定 post 我的问题和答案(解决方案),希望它能帮助将来尝试做同样事情的其他人:
$('#form_id :submit').before(
$("<input>", {
name: 'token',
type: 'hidden',
value: 'value',
})
);
这段代码本质上是 returns 一个新的 DOM 输入元素,它具有我们传递的 {}
对象中的设置属性。这个返回的元素是我们需要传递给 before()
的 content
参数,以便在我们的选择器中的元素之前插入我们的隐藏字段,在本例中是我们 ID 的 submit
按钮。
也许这会对你有所帮助。
$('#form_id').before('<input type="text" name="token" value="value" />');
我有一段代码使用 jQuery 附加由 attr()
函数创建的隐藏字段(具有适当的属性)。我目前正在使用 insertBefore()
函数,如下所示:
$('<input>').attr({
name: 'token',
type: 'hidden',
value: 'value',
}).insertBefore( $('#form_id :submit') );
这在我的 #form_id
表单的 submit
按钮之前正确地附加了一个新的隐藏 DOM 输入元素,但我想改用 before()
,因为在定义内容之前选择我的目标对我来说似乎更具可读性。
就在 post 回答我上面的问题之前,我又尝试了一次从头开始使用 before()
,这次我以某种方式成功了。所以我决定 post 我的问题和答案(解决方案),希望它能帮助将来尝试做同样事情的其他人:
$('#form_id :submit').before(
$("<input>", {
name: 'token',
type: 'hidden',
value: 'value',
})
);
这段代码本质上是 returns 一个新的 DOM 输入元素,它具有我们传递的 {}
对象中的设置属性。这个返回的元素是我们需要传递给 before()
的 content
参数,以便在我们的选择器中的元素之前插入我们的隐藏字段,在本例中是我们 ID 的 submit
按钮。
也许这会对你有所帮助。
$('#form_id').before('<input type="text" name="token" value="value" />');