gpt4 book ai didi

javascript - 从数据量较大的textarea中删除某些文本

转载 作者:行者123 更新时间:2023-11-28 09:03:01 24 4
gpt4 key购买 nike

我使用 HTML 和 Javascript 制作了一个基本的 XML 格式化程序。我想为此添加一个删除功能。基本上,我希望能够删除一个条目,但不清除或损坏任何其他数据。

<contact
<!--John Doe-->
first_name="John"
last_name="Doe"
contact_type="sip"
account_id="104"
subscribe_to="sip:104@10.10.1.24"
has_voicemail="1"
can_monitor="1"
>
<numbers>
<number dial="1064" dial_prefix="" label="Extension" />
<number dial="555-0123" dial_prefix="718" label="Work Line" primary="1" />

我的想法是找到包含 John Doe 的联系人标签并从 <contact 中删除至</numbers>

是否可以使用“indexOf()”通过包含某些信息来删除该组。

上下文:我向 plunkr 添加了一个演示。这获取表单数据并将其导出到文本区域

http://run.plnkr.co/plunks/b9QKZ7KZP0IlcyeCTTc9/

最佳答案

我想你可以尝试其他方法。

  1. 创建一些 Javascript 对象来保存数据。
  2. 向该文本区域呈现对象。
  3. 添加/删除数据时,先操作对象,然后重新呈现。

代码看起来像

//Contact list.
var contacts = [];

// Contact class.
function Contact() {
...
this.name = "";
this.numbers = [];// numbers
...
}

Contact.prototype.toString = function(){
return "<contact name=\"" + this.name + ...;
};

// Add new Contact
function addContact(params) {

var contact = new Contact();
// set properties
// contact.name = name;
contacts.push(contact);
showContacts();
}

// Add new Contact
function deleteContact(name) {

for (var i = contacts.length-1; i >= 0; i--) {
if (contacts[i].name == name) {
contacts.splice(i, 1);
return;
}
}
}

// present contacts
function showContacts(){
var text = "";
for(var c in contacts){
text += c.toString();
}
textarea.value = text;
}

// other functions like addNumber etc.

代码会变得有点复杂,但更加清晰和灵活。

关于javascript - 从数据量较大的textarea中删除某些文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com