我有这个string
(不是html
而是string
):
<div class="rTag">ATINA</div><div class="rTag">BELMOPAN</div><div class="rTag">DAMASK</div><div class="rTag">FILIPINI</div><div class="rTag">BANGKOK</div>
需要提取文本值rTag
,因此结果应为新字符串:
ATINA,BELMOPAN,DAMASK,FILIPINI,BANGKOK
有帮助吗?
答案 0 :(得分:2)
这会将#output的内容设置为新的str,但是加入后,您可以执行任何操作。
var str = [];
var content = '<div class="rTag">ATINA</div><div class="rTag">BELMOPAN</div><div class="rTag">DAMASK</div><div class="rTag">FILIPINI</div><div class="rTag">BANGKOK</div>';
var $html = $($.parseHTML("<div>" + content + "</div>"));
$html.find(".rTag").each(function(){
str.push($(this).html());
});
$("#output").html(str.join(","));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<div id="output"></div>
答案 1 :(得分:0)
将HTML字符串解析为DOM元素以便可以由javascript / jquery处理是一个相当标准的过程:
$(content)
就足够了,而无需将其添加到DOM(以及所有在幕后的东西)。
在这种情况下:
var content = '<div class="rTag">ATINA</div><div class="rTag">BELMOPAN</div><div class="rTag">DAMASK</div><div class="rTag">FILIPINI</div><div class="rTag">BANGKOK</div>';
var arr = $(content).filter(".rTag").map(function() {
return $(this).text();
}).get();
console.log(arr.join(","));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>