Jquery – 如何替换div中的一个单词?
我有一个从另一个位置复制的div,我需要更改其中的一个单词。 这是html:
8726 N. Royal Ln
Irving, TX 75063
email@aol.com
我需要更改电子邮件地址,所以我试图在div中获取文本并将字符串拆分为单词,然后更改电子邮件地址。 但是,我在使用内部文本时遇到了麻烦。
这是我的脚本:
var address = $dealerInfo.find(".dealer-addy"); var text = $(address).text(); text = text.replace(/\r?\n|\r/, " "); var words = $(text).split(" ");
它在split()上打破了,所以我添加了replace()行,现在它在replace()行中断了。 我认为它因“文本”中的换行符而中断,但我不知道该怎么做。
var text = $(".dealer-addy").text(); function extractEmails ( text ){ return text.match(/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi) ; } var email = extractEmails(text); var value = $(".dealer-addy").text(); value = value.replace(email, "new@email.com"); $(".dealer-addy").text(value);
8726 N. Royal Ln
Irving, TX 75063
email@aol.com
您可以获取div
的lastChild
,并使用replaceChild
插入所需的新文本:
document.querySelector('button').addEventListener('click', function() { var div = document.querySelector('.dealer-addy'); var newEmail = 'vitor@stackoverflow.com'; div.replaceChild(document.createTextNode(newEmail), div.lastChild); });
8726 N. Royal Ln
Irving, TX 75063
email@aol.com
你可以这样做:
使用Javascript:
var orignalstring = document.getElementById("dealer-addy").innerHTML; var newstring = orignalstring.replace("email@aol.com","replaced"); document.getElementById("dealer-addy").innerHTML = newstring;
HTML:
8726 N. Royal Ln
Irving, TX 75063
email@aol.com
但是,如果您不知道要替换的电子邮件地址是什么,那么最好这样做:
HTML:
8726 N. Royal Ln
Irving, TX 75063
email@aol.com
使用Javascript:
document.getElementById("email").innerHtml = "new email";
这应该做你想要的(email@aol.com将替换为newemail@gmail.com)。 工作小提琴: http : //jsfiddle.net/bay44km4/3/
HTML:
8726 N. Royal Ln
Irving, TX 75063
email@aol.com
使用Javascript:
var dealerAddressHtml = $(".dealer-addy").html(); var dealerAddressArr = dealerAddressHtml.split("\n"); if (dealerAddressArr.length >=3){ var emailAddress = dealerAddressArr[3]; dealerAddressHtml = dealerAddressHtml.replace(emailAddress, "newemail@gmail.com"); $(".dealer-addy").html(dealerAddressHtml); }