鍍金池/ 問答/HTML/ html字符串轉(zhuǎn)為jquery對象后,怎么轉(zhuǎn)回html字符串呢 ?

html字符串轉(zhuǎn)為jquery對象后,怎么轉(zhuǎn)回html字符串呢 ?

一段html字符串轉(zhuǎn)為jquery對象后,用jquery的val(' ') 方法清空里面的某一個input值后,怎么轉(zhuǎn)回html標(biāo)簽?zāi)??

圖片描述

點(diǎn)擊 [+] 后 ,出現(xiàn)下面一個表單 ,但是 屬性價(jià)格怎么清空呢 ? 難倒我了 。。。。。

圖片描述

我是先獲取 點(diǎn)擊按鈕 所在的整個div 的 html標(biāo)簽加內(nèi)容(變量為 : add_attr_html), 然后 通過 $(add_attr_html).find('td').next().find('input').val(''); 清空 “屬性價(jià)格” 這個 input表單的 value ,然后打算轉(zhuǎn)為html 字符串再 追加到頁面,但是從 jquery 對象轉(zhuǎn) 回去的時候卡住了 , 我用$(add_attr_html)[0] 試了一下,value 值還在,沒有被清除掉。。。。。。

回答
編輯回答
真難過

.parents().clone(),.insertAfter()
$(this)用parents加選擇器找到目標(biāo)dom,然后clone下再insertAfter到目標(biāo)位置后邊(兄弟級別)。如果clone沒清空的話那再手動清下就好。

2018年4月30日 22:30
編輯回答
硬扛

你這獲取元素有問題把 你把屬性加個的文本框 加個class 例如text
然后$(add_attr_html).find('.text').val('')

2017年8月14日 22:52
編輯回答
氕氘氚

先追加再操作
$(add_attr_html).appendTo(el).find('td')...

2017年1月10日 22:12
編輯回答
久礙你

首先你要搞清楚兩個問題:
一是基礎(chǔ)數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型的區(qū)別,基礎(chǔ)數(shù)據(jù)類型是按指存儲,復(fù)雜數(shù)據(jù)類型是按地址(或者指針存儲)。
二是jquery的$()方法是什么意思:根據(jù)傳入的內(nèi)容返回一個jquery對象

add_attr_html變量是一個基礎(chǔ)數(shù)據(jù)類型:字符串。$(add_attr_html)是調(diào)用jquery方法生成的一個復(fù)雜數(shù)據(jù)類型:jquery對象。然后$(add_attr_html)可以使用jquery的方法,但這些方法是對$(add_attr_html)這個對象進(jìn)行操作,不是對add_attr_html這個變量進(jìn)行操作。所以你雖然使用.val()方法清空了input的值,但是add_attr_html字符串還是原來的樣子,所以當(dāng)你再次$(add_attr_html)的時候,其實(shí)是再一次調(diào)用的$()方法對add_attr_html字符串進(jìn)行了jquery對象化操作,兩個次的$(add_attr_html)完全不是同一個對象,所以value值還存在。

解決方案一:用一個變量保存$(add_attr_html)就好

var $tr = $(add_attr_html);//用一個變量保存這個對象
$tr.find('input').val('');
var _html = $tr.parent().html();

解決方案二:你要處里這個需求其實(shí)你把問題復(fù)雜化了:復(fù)制一個當(dāng)前節(jié)點(diǎn),然后清空內(nèi)容,添加到新的地方

var $tr= $(this).parents('tr').clone(true);//克隆一個目標(biāo)節(jié)點(diǎn),參數(shù)true可以把事件特性一起克隆過來
$tr.find('input').val('');
$(this).parents('table').append($tr);

看例子,demo
圖片描述

2018年8月31日 05:57