jQuery before() 输出为字符串而不是 HTML
jQuery before() outputting as string rather than HTML
我正在尝试使用一些简单的 jQuery 在 Gravity Forms 输入之前注入一些 HTML。
这是我的代码:
var formInputs = jQuery( "form li input" )
formInputs.each(function( index ) {
this.before('<h1>Hello, world!</h1>');
});
这是每个输入的样子
是否与重力形式有某种形式的冲突?
编辑:我尝试替换
this.before('<h1>Hello, world!</h1>');
和
this.before(jQuery('<h1>Hello, world!</h1>'));
而我得到 jQuery 对象
你试过吗?
jQuery('<h1>Hello World!</h1>').insertBefore(this);
this
在 jQuery.each()
方法中指的是 JavaScript 对象而不是该元素的 jQuery 对象,所以如果你想使用任何 jQuery 方法,你必须用 jQuery 包装它。
var formInputs = jQuery( "form li input" )
formInputs.each(function( index ) {
jQuery(this).before( document.createTextNode('<h1>Hello, world!</h1>') );
});
如果你想转义 html 并输出为纯文本,那么 document.createTextNode
方法可以帮助你。将您的代码更新为以下内容。
var formInputs = jQuery( "form li input" )
formInputs.each(function( index ) {
jQuery(this).before( document.createTextNode('<h1>Hello, world!</h1>') );
});
我正在尝试使用一些简单的 jQuery 在 Gravity Forms 输入之前注入一些 HTML。
这是我的代码:
var formInputs = jQuery( "form li input" )
formInputs.each(function( index ) {
this.before('<h1>Hello, world!</h1>');
});
这是每个输入的样子
是否与重力形式有某种形式的冲突?
编辑:我尝试替换
this.before('<h1>Hello, world!</h1>');
和
this.before(jQuery('<h1>Hello, world!</h1>'));
而我得到 jQuery 对象
你试过吗?
jQuery('<h1>Hello World!</h1>').insertBefore(this);
this
在 jQuery.each()
方法中指的是 JavaScript 对象而不是该元素的 jQuery 对象,所以如果你想使用任何 jQuery 方法,你必须用 jQuery 包装它。
var formInputs = jQuery( "form li input" )
formInputs.each(function( index ) {
jQuery(this).before( document.createTextNode('<h1>Hello, world!</h1>') );
});
如果你想转义 html 并输出为纯文本,那么 document.createTextNode
方法可以帮助你。将您的代码更新为以下内容。
var formInputs = jQuery( "form li input" )
formInputs.each(function( index ) {
jQuery(this).before( document.createTextNode('<h1>Hello, world!</h1>') );
});