2016-11-02 91 views
1

我想在使用一些簡單的jQuery的重力形式輸入之前注入一些HTML。jQuery之前()輸出爲字符串而不是HTML

這裏是我的代碼:

var formInputs = jQuery("form li input") 

formInputs.each(function(index) { 
    this.before('<h1>Hello, world!</h1>'); 
}); 

這裏是什麼樣子的每個輸入

enter image description here

是否有某種形式與重力形式的衝突?

編輯:我試着用

this.before(jQuery('<h1>Hello, world!</h1>'));

更換

this.before('<h1>Hello, world!</h1>'); 

,而是我得到jQuery對象

enter image description here

+0

嘗試'this.before(jQuery的( '

你好,世界

!'));' –

+0

@CameronHurd感謝的建議,請參閱編輯 – softcode

回答

1

你試過這個嗎?

jQuery('<h1>Hello World!</h1>').insertBefore(this); 

https://jsfiddle.net/r181ohtj/

+0

搞砸了鏈接第一。固定。 – Sean

+0

他想逃避HTML並將其輸出爲純文本而非HTML。 –

+0

@KhorshedAlam諾諾肖恩說得對。試圖注入HTML。 – softcode

3

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>')); 
}); 
相關問題