我的内部有一个文本,例如:
<span class="characters-count">(160 Characters Left)</span>
在这种情况下给定一个类.characters-count
,当我尝试使用jQuery的类选择器来获取span中的文本时:
$(".characters-count")[0].text();
它返回undefined!
但是这个选择器效果很好:
$("span.characters-count").text();
任何人都可以解释发生了什么?
答案 0 :(得分:1)
当你使用$(&#34; .characters-count&#34;)[0] check DEMO
时,你需要使用innerText而不是text() $(".characters-count")[0].innerText
答案 1 :(得分:1)
$("span.characters-count").text();
在我们的例子中,您使用的是具有text
方法
$(".characters-count")[0].text();
在这种情况下,您使用的是actual DOM element(如document.getElementByClassName('characters-count')[0]
),但没有text
方法
答案 2 :(得分:1)
console.log($(".characters-count:first").text())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="characters-count">(160 Characters Left)</span>
尝试这样的事情:
$(".characters-count:first").text()
点击这里,为什么它不适合你。
//This will return dom element, so it doesn't have `text()` method, that's why it was throwing error for you.
console.log($(".characters-count:first")[0]);
// This will return object of an element, you can use jQuery selectors to get first element from collection and set text to it
console.log($("span.characters-count"));
console.log($("span.characters-count:first").text
);
答案 3 :(得分:1)