我发现了很多与此类似的其他主题,但它们都略有独特......所以这里是:
我正在尝试根据元素是否为空来构造 IF 语句。但是,由于我正在使用的 CMS 仍会输出空白,因此我的 IF 语句需要能够将空白和空子元素识别为就父元素而言仍为“空”。
这是我的代码 - 它在现代浏览器中运行良好,但它无法在 IE 7/8 中运行。我读到,IE 中的“trim”可能存在问题?
关于适用于 IE 的替代解决方案有什么想法吗?
$('.items').each(function() {
if ($(this).find('.the-element-to-check-for-emptiness').html().trim()) {
$(this).css('display', 'block');
}
});
基本上,我默认隐藏所有“.items”,然后如果它们的“the-element-to-check-for-emptiness”元素有任何内容,我会取消隐藏该项目。
欢迎任何意见, 谢谢!
更新
根据 James 的见解,我更新了代码,将调用更改为“trim”,但现在 IF 语句似乎始终评估为 false,无论如何。有什么想法吗?
$('.items').each(function() {
if ($(this).find('.the-element-to-check-for-emptiness').html()$.trim()) {
$(this).css('display', 'block');
}
});
最佳答案
IE 没有 trim
,请使用 jquery 的 $.trim()
代替。
http://api.jquery.com/jQuery.trim/
$.trim($(this).find('.the-element-to-check-for-emptiness').html())
关于jquery - jQuery 中的 IE 友好方式确定元素是否为空或仅包含空格或其他空元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9932697/