-1

我正在谈论的两件事是一个文本字段和一个字符串,它表示您需要键入以使该文本字段出现的 HTML。有一个按钮可以使这两件事出现。每次单击此按钮时,都会出现另一对相同类型。

但是,每次生成新对时,我还会在文本字段旁边生成一个按钮,单击该按钮应该删除文本字段和使用它创建的字符串。那么,我该如何实现呢?

我可以编程“当单击具有类 x1 的按钮时,删除也具有类 x1 的文本字段和字符串”,然后“当单击具有类 x2 的按钮时,删除也具有类 x2 的文本字段和字符串”,等等,但我的意思是除此之外的解决方案。

下面是创建文本字段/HTML 对的样子:

$(document).ready(function() {
$('#textField').click(function() {
$('#codeBox').append('<div id="divText'+visText+'"><input type="text" class="textfield" maxlength="0" id="visText'+visText+'"><input type="button" value="O" id="o"> <input type="button" value="?" id="que"> <input type="button" value="X" id="closeX"><div id="textCode" class="codeDisplay"><div class="textCode">&lt;div&gt;&lt;input&nbsp;type="text"&nbsp;class="textfield"&nbsp;id="text'+textClicked+'"&lt;/div&gt;&lt;br&gt;</div></div>');

$('#codeBox2').append('&lt;div&gt;&lt;input&nbsp;type="text"&nbsp;class="textfield"&nbsp;id="text'+textClicked+'"&lt;/div&gt;&lt;br&gt;')
4

3 回答 3

2

您可以使用parent()来做到这一点

假设您在单击“添加”按钮时添加类似这样的内容

<div>
        <div></div>
        <button class="remove">remove</button>
</div>

JS 删除

$(document).on("click", ".remove", function(){
    $(this).parent().remove();
}); 

当您单击删除时,它将找到其父级并将其删除。

JS 演示

于 2013-08-26T14:42:34.173 回答
1

如果动态创建元素,则必须从创建它们的代码中引用它们。创建按钮时,click向它添加一个侦听器,该侦听器通过闭包使用这些引用:

var text = document.createTextNode("some text");
var input = document.createElement("input");
var button = document.createElement("button");
button.addEventListener("click", function() {
  text.parentElement.removeChild(text);
  input.parentElement.removeChild(input);
  button.parentElement.removeChild(button);
});
于 2013-08-26T14:41:31.703 回答
1

查看 jquery 的各种树遍历方法:http ://api.jquery.com/category/traversing/tree-traversal 可以帮助您在单击删除按钮之一时删除正确的元素。

于 2013-08-26T14:42:53.850 回答