除了'by'以外,是否有任何其他方法来获取div的内部文本?
perform('foo')('grey')(Array.prototype.filter)(g => true);
答案 0 :(得分:0)
您可以像这样用Jquery做到这一点...但是它也会删除","
...
检查一下:
$(document).ready(function(){
var name = $('div').children('em');
$('div').html(name);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="name">
"by "
<em>Some Author</em>
", "
<em>Another Author</em>
</div>
答案 1 :(得分:0)
您可以尝试以下表达式:
//em/text()
输出:
'Some Author'
'Another Author'
答案 2 :(得分:0)
您可以在XPath下面尝试获取除第一个之外的所有后代文本节点:
(//div//text())[position() > 1]
答案 3 :(得分:0)
关于HTML的一个非常奇怪的地方是“ Some Author” <em>
和逗号之间的引号和空格。我想你的意思是:
<div class="name">
by <em>Some Author</em>, <em>Another Author</em>
</div>
使用XPath,您可以使用以下查询来获取节点:
//*[@class='name']/node()[position()>1]
如果我们正在谈论浏览器环境,并且您想要一个字符串,而不仅仅是节点的集合,则可以执行以下操作:
document.querySelector('div.name').textContent.replace(/^\s*by\s*/, '')