我正在尝试使用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。
答案 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
});