这是我的HTML代码:如果不尊重,即使内在价值,它是假
$(function() {
function reverse(s) {
return s.split("").reverse().join("");
}
$('button').click(function() {
var span = $(this).siblings('span');
span.text(function() {
var reversed = reverse($(this).text());
return reversed;
});
if (!span.children('small').length) {
span.wrapInner('<small></small>');
console.log(!span.children('small').length);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<span>reverse1</span>
<span>reverse2</span>
<button>reverse me</button>
我把的console.log进入if语句添加一个小唯一旦在DOM中(不确定wrapInner函数),检查小节点是否只添加一次。我在逻辑表达式中检查了值,在没有小标记的情况下为真,在添加时为false。任何人都可以帮助我理解?
不,它让打印假值,即使小标签已经增加... – Salvio
你去掉小标签每次重新运行时的文本()调用。它完全删除给定范围的所有内容,并用反向字符串替换它。 – Snowmonkey
所以,如果我有问题,我需要检查的跨度有改变它之前textnode,是吧? – Salvio