在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ 怎么獲取一個(gè)html標(biāo)簽,但是不含里面的內(nèi)容?

怎么獲取一個(gè)html標(biāo)簽,但是不含里面的內(nèi)容?

如題,比如下面這個(gè)標(biāo)簽

<nrmark  class="highlight-yellow" style="position: relative;" data-guid="db0923d5-763e-44e9-b765-cdc95de32b32">業(yè)為例,新近加入競(jìng)爭(zhēng)的特斯拉汽車公司,就因?yàn)槊绹鴰讉€(gè)州禁止其直接向消費(fèi)者售賣汽車的規(guī)定而</nrmark>

我只想拿到前后兩個(gè)標(biāo)簽,得到如下的值:

var tagAtStart="<nrmark  class="highlight-yellow" style="position: relative;" data-guid="db0923d5-763e-44e9-b765-cdc95de32b32"">"

var tagAtEnd="</nrmark>"

然后替換掉里面的內(nèi)容(本質(zhì)就是里面的InnerHTML),組成如下的新的字符串

var newHTML=tagAtStart+"我是新內(nèi)容"+tagAtEnd;

其實(shí),就是outerHTML-innerHTML的內(nèi)容,但是我要取到兩邊的Tag

回答
編輯回答
愛是癌

嵌套標(biāo)簽就不行了:

var reg = /<[^>]+>/g;
var result = str1.match(reg);
console.log(result[0],result[1])//前后標(biāo)簽
2017年12月21日 02:40
編輯回答
孤巷

我覺得你沒有講清楚需求,否則,直接這樣就可以了

ele.innerHTML="我是新內(nèi)容";//這里可以放純文字,也可以放元素標(biāo)簽的內(nèi)容

或者這樣也行:

let newNode=ele.cloneNode();//只會(huì)克隆節(jié)點(diǎn)本身(包括節(jié)點(diǎn)的屬性),不包括里面的文字,因?yàn)槲淖謱儆?文本節(jié)點(diǎn)
newNode.innerHTML="我是新內(nèi)容";

這樣不就實(shí)現(xiàn)了,要不你還想實(shí)現(xiàn)什么?盡管說

2017年11月14日 21:31
編輯回答
款爺

若是后臺(tái)返回的字符串:

var test = '<nrmark  class="highlight-yellow" style="position: relative;" data-guid="db0923d5-763e-44e9-b765-cdc95de32b32">業(yè)為例,新近加入競(jìng)爭(zhēng)的特斯拉汽車公司,就因?yàn)槊绹鴰讉€(gè)州禁止其直接向消費(fèi)者售賣汽車的規(guī)定而</nrmark>';
console.log(test.replace(/>.*</, ">我是新內(nèi)容<"));

如果是已經(jīng)在頁面內(nèi)顯示的內(nèi)容,直接替換那個(gè)標(biāo)簽內(nèi)的innerText就行。

2018年7月12日 12:52
編輯回答
厭遇

這個(gè)使用jQuery很容易實(shí)現(xiàn)

var $cloneElement = $(element).clone();
$cloneElement.empty();

2017年5月16日 11:15
編輯回答
女流氓
return el.outerHTML.split(el.innerText).join(newContent);

我覺得應(yīng)該OK。
不過如果里面的內(nèi)容和tag有沖突,就很危險(xiǎn)。

感謝@siyuedefeng 的提醒。

2018年8月25日 09:32