2010-04-19 149 views
0

我有一個由一些文本輸入組成的HTML表單。我使用jqTransform來對它們進行美化。現在我想添加兩個按鈕來動態添加和刪除文本輸入。取決於孩子的jQuery選擇器

添加很簡單: $('#container')。append(''); $('input [name = foo]:last-child')。jqTransInputText();但是刪除是非常棘手的: $('WHAT-TO-SELECT')。remove();

我不能做「input [name = foo]:last-child」,因爲它已經被jqTransform包裹了(一些div)。以另一種方式提出這個問題:我應該如何根據「誰輸入'foo'作爲其名稱的孩子'」來選擇?

回答

0

我通過解決問題而不是解決問題,而是使用div附上輸入標記,從而消除了問題。所以要刪除輸入標籤,我只需刪除div。無論如何,謝謝你們!

1

你可能會嘗試選擇input with 'foo' as its name並抓住它的父母。

$('input[name=foo]').closest('.parentSelector').remove();

1

不能完全肯定你的意思。但它看起來像你可以僅通過鏈接做就可以了更多的工作..即..

$('input[name=foo]:last-child').jqTransInputText().remove(); 

我不知道這是你在尋找什麼..如果沒有,看看到find function在jQuery的。

+0

對不起..查看更多信息。基本上,find可以過濾鏈中的當前集合。即''(「p」)。find(「span」).css('color','red');' 只會改變其中包含跨度的段落的顏色。你也可以通過'$('p span')'做到這一點,但是使用find可以讓你做像'$('p')。slideUp()。find('span').css('color', '紅');' – 2010-04-19 17:06:29

1
$('input[name=foo]').parent().remove(); 

此外,父方法可以提供一個正常的選擇器,以及只能刪除一個特定的父母。