给出了2个替代
<div class="no-text example">
100
</div>
<div class="with-text example">
<span class="surprise"> 50 </span>
100
</div>
我希望在两种情况下都使用.example
内的数字,使用相同的选择器或以某种方式知道.no-text
和.with-text
执行$(".example").text()
会给我50 100
目前我正在试验.clone().children().remove().end().text()
,但我需要知道它是.no-text
和.with-text
答案 0 :(得分:1)
我不知道你想要什么样的数据,但是如果你想要一个包含所有文本节点文本的数组,那么你可以这样做。
创建一个空数组,然后遍历所有.example
个元素并检查每个元素是否&#34;这个&#34;里面有一个跨度。
如果您认为&#34;惊喜&#34; element可以是任何内容,例如在|| $(this).children("p").length
检查
if()
var textArray = []
$(".example").each(function(){
if($(this).children("span").length) {
textArray.push($(this).text())
}
})
答案 1 :(得分:1)
如果您只想直接在.example
下获取号码,请尝试以下操作:
$(".example").contents()
.filter(function () {
return this.nodeType === 3; //text node
}).each(function () {
console.log(+this.nodeValue.trim());
});
//100
//100
答案 2 :(得分:0)
您可以创建一个对象并将值存储在数组对象中:
var o = {};
$(".example").each(function() {
o[$(this).attr("class")] = $(this).map(function() {
return $.trim(this.textContent).split(' ');
}).get();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="no-text example">
100
</div>
<div class="with-text example">
<span class="surprise"> 50 </span>
100
</div>
&#13;
答案 3 :(得分:0)
我不知道你想要达到什么目标,但我创造了一个可以提供帮助的小伙伴:http://jsfiddle.net/mxr6eddm/
$(".example").each(function () {
$("#output").append($(this).text());
if ($(this).hasClass('with-text')) $("#output").append(" - with text");
else $("#output").append(" - no text");
$("#output").append("<br>");
});
答案 4 :(得分:0)
试试这个:
$(document).ready( function () {
var getListAttributes = function (selector) {
listValue = selector.attr('data-value');
alert(listValue);
}
$(document).on('click','.js-select a', function() {
getListAttributes($(this));
});
});
答案 5 :(得分:0)
您可以执行以下操作
onLoad
答案 6 :(得分:0)
将.filter()
与.contents()
结合使用:
var which = [];
$('body > .example').contents().filter(function() {
if(this.nodeType === 3 && this.parentNode.classList.length > 1 ){
which.push(this.parentNode.classList[0]);
}
});
$('#elements').html(JSON.stringify(which));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="no-text example">100</div>
<div class="with-text example"><span class="surprise"> 50 </span>100</div>
<div id='elements'></div>
&#13;