我正在尝试在此有序列表中的第一个li中选择第一个 text 节点...
<ol id="authors">
<li id="CD007786-cr-0002">Robert S Phillips<sup>1,*</sup>, </li>
<li id="CD007786-cr-0003">Shireen Gopaul<sup>2</sup>, </li><li id="CD007786-cr-0004">Faith Gibson<sup>3</sup>, </li>
到目前为止,我已经尝试过:
jQuery("ol#authors li:first-child").text()
但是这会回来:
Robert S Phillips1,*,
我想要得到的只是:
Robert S Phillips
答案 0 :(得分:21)
尝试
alert( jQuery("#authors li:first-child").contents().get(0).nodeValue );
答案 1 :(得分:0)
使用常规javascript获取文本节点更容易,实际上获取正确的节点应该像
一样简单var node = document.querySelector('#authors li').firstChild;
获取值
var text = node.nodeValue;
答案 2 :(得分:-1)
这样做
var $first = $("#authors li:first-child").clone();
$first.find("sup").remove();
var fullName = $first.text().trim().replace(/,$/, "");
理想情况下,我会将标记结构更改为
<ol id="authors">
<li id="CD007786-cr-0002"><span class="fullName">Robert S Phillips</span><sup>1,*</sup>, </li>
<....>
</ol>
然后使用
提取名称$("#authors li:first-child span.fullName").text();