在标记之前从HTML获取纯文本

时间:2013-10-07 06:56:27

标签: javascript jquery html

我有一个编辑器,其中包含一些html文本,如下所示:

  

< DIV>您好< p为H.你好< / p为H.再见< / DIV>

预期结果:

  

div:嗨

所以这里我只需要标签之前的文字。尝试使用$(div).text(),但它给出了Hello Hello Bye,而我只需要在标记之前使用文本 任何人都可以帮我如何编写javascript函数?谢谢。

4 个答案:

答案 0 :(得分:2)

 var div = document.getElementsByTagName ("div") [0];
 alert (div.childNodes[0].data );//Hi

Fiddle

答案 1 :(得分:2)

previousSibling should do the work for you here

喜欢这个$('p')[0].previousSibling.nodeValue

Fiddle Link

答案 2 :(得分:1)

Reference

div添加到“收藏夹”并将id设置为此div

<body onload="myFunction();">
  <div id="div1"><div id="div2">Hi</div><p>Hello</p>bye</div>
</body>

function myFunction()
{
  var x = document.getElementById("div1").tagName;
  var y = document.getElementById('div2').innerHTML;
  var z = x + " : " + y;
  alert(z);
  var a = document.getElementById("div1");
  a.innerHTML = z;
}

答案 3 :(得分:0)

可能是你可以尝试:

var $temp = $('<div>Hi<p>Hello</p>bye</div>');
$temp.find('p').replaceWith(function(){return "________"});
//it return:  <div>Hi________bye</div>
var text = $temp.text().split('________')[0];
//return: Hi