jquery html换行去掉,使用jQuery删除HTML元素之间的空格和换行符

这对我有用,并逐步发现:

输出来自chrome控制台

首先定位包含令人讨厌的空白的父节点

$('.controls label[class="radio"]').parent();

[

​…​​

" "

" "

​…​​

" "

" "

​]您可以看到它包含在[]括号中的数组中,即使找到单个项目,jQuery也会始终返回类似结构的数组。

因此,为了获得HTMLElement,我们在索引0处获取数组中的第一项

$('.controls label[class="radio"]').parent()[0];

​…​​

" "

" "

​…​​

" "

" "

​注意没有更多[]括号。我们需要这样做的原因是因为jQuery会忽略dom中的空格,但HTMLElement不会,看看当我们访问childNodes属性时会发生什么

$('.controls label[class="radio"]').parent()[0].childNodes;

[​…​​,

" ",

" ",

​…​​,

" ",

" "]我们再次有一个数组,是的,你发现了[]括号,但你看到了另一个区别,看看所有的逗号,这是我们用jQuery无法得到的。

谢谢HTMLElement,但现在我们可以回到jQuery,因为我想使用每个而不是for循环,你同意我的意见吗?

所以让我们在jQuery中包装数组,看看会发生什么:

$($('.controls label[class="radio"]').parent()[0].childNodes);

[​…​​,

" ",

" ",

​…​​,

" ",

" "]完善!我们有一个完全相同的结构,但是在jQuery对象中只有nnow所以让我们调用每个并打印“this”到控制台,看看我们有什么。

$($('.controls label[class="radio"]').parent()[0].childNodes).each(function () {

console.log('|'+$(this).html()+'|');

});

|Female|

|undefined|

|undefined|

|Male|

|undefined|

|undefined|所以我们使用jQuery来获取每个元素的html,标准的东西`$(this).html,因为我们看不到白色空间让它用管道填充|,好的计划但我们在这里有什么?

正如你所看到的,jQuery无法将空格转换为html,现在我们还没有定义。但这更好,因为如果空间可能是未定义的,那肯定是假的=)

所以让我们用jQuery摆脱吸盘。我们需要的只是$(this).html() || $(this).remove();让我们看看:

$($('.controls label[class="radio"]').parent()[0].childNodes).each(function () {

$(this).html() || $(this).remove();

});

[​…​​,

" ",

" ",

​…​​,

" ",

" "]亲爱的..但不要害怕!每个仍然返回先前的结构而不是我们已经更改的结构,让我们看一下我们的初始查询现在返回的内容。

$('.controls label[class="radio"]').parent();

[

​…​​

​…​​

​]和瓦拉!所有性感和漂亮=)

所以你有它,如何删除元素/标签ala jQuery样式之间的空格。 h3>

的nJoy!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值