从html文件中提取文本

时间:2012-04-02 22:27:56

标签: javascript jquery

我正在尝试使用Javascript和jQuery从html文件中获取包含文本的节点。 如果我有一个像节点 `

<div>txt0
<span>txt1</span>
txt2
</div>

How can I select elements that meets this criteria?? Meaning, I need to retrieve the div and the span`,知道文本的位置会更好。

我正在尝试将文本替换为稍后功能中的图像。 我试过这个

`

$('*').each(function(indx, elm){
   var txt = $(elm).text();
   // my code to replace text with images here
});

`

但它没有得到所需的结果..它完成了第一个元素中的所有解析,并完全改变了html。

2 个答案:

答案 0 :(得分:1)

我不确切地知道你要解决的问题,但也许你的选择器可能更具体一些?

$("div span").text(); // returns 'txt1'
$("div").text();      // returns 'txt0txt1txt2'

通过向您的html添加ID和/或类,您可以非常具体:

<div class="name">Aidan <span class="middlename">Geoffrey</span> Fraser</div>

...

// returns all spans with class
// "middlename" inside divs with class "name"
$("div.name span.middlename").text(); 

// returns the first span with class
// "middlename" inside the fourth div 
// with class "name"
$("div.name[3] span.middlename[0]").text(); 

JQuery有很多good documentation个选择器。

如果这没有帮助,请考虑解释您尝试解决的问题。

答案 1 :(得分:0)

您的标记结构有点不安。考虑改为这样的

   <div>
     <span>txt0</span>
     <span>txt1</span>
     <span>txt2</span>
   </div>

然后使用jQuery

$("div span").each(function(k,v) {
   $(this).html("<img src=\""+v+".jpg\" />"); //replace with the image
});