我正在使用Americommerce,他们什么都使用widget,我有一个widget,可以显示用户最近查看的产品,但当他们还没有查看任何东西时,这个位置就是空的。
我想显示一条消息。我遇到的问题是检测小部件是否为空。我试着用div(#cond)
包装这个小部件,但是没有用,我试着用JavaScript检查ul.side_carousel
类是否存在,以及div#cond
中是否有任何内容。无论我做什么,我都不能让它正常工作。
下面的脚本是我得到的最接近的脚本。当我再次访问网站时,div会显示脚本中的“no Items to Display”消息,但是如果我点击一个产品,然后返回主页,div不再是空的,它显示的是最近查看过的产品(这很好!),但它也显示了“no Items to Display”消息(这很糟糕),我不知道为什么它会出现,因为div不再是空的。
<div class="col-sm-2 side hidden-xs hidden-sm">
<h3>Recently Viewed:</h3>
<div id="cond">
<ac:widget id="CAROUSEL23626" type="Carousel" scrollby="4" displayorientation="Vertical" enablemergecode="True" categoryid="293" repeatabletype="RecentlyViewedItems" rotatorstartdate="10/23/2019" productlistid="9" displaycount="8">
<ac:visibilityarea id="dvControl">
##INCLUDESTYLESHEET[/store/inc/bxslider/jquery.bxslider.css]##
<ac:layoutarea id="Layout">
<ul class="side-carousel">$$GROUP$$</ul>
</ac:layoutarea>
<ac:layoutarea id="Group">
$$ITEM$$
</ac:layoutarea>
<ac:layoutarea id="Item">
<li>
<!--$$PRODUCTNAME$$-->
$$PHOTOWITHLINK$$
<div class="FeaturedItemsRating">$$OVERALLRATING$$</div>
<div class="saleprice">$$PRICE$$</div>
</li>
</ac:layoutarea>
<ac:layoutarea id="Script">
<script>
$(function () {
$("$$SELECTOR$$ ul").bxSlider({
minSlides: 4,
maxSlides: $$VISIBLESLIDES$$,
moveSlides: $$SCROLLBY$$,
mode: '$$ORIENTATION$$',
slideWidth: $$WIDTH$$,
slideMargin: 10
});
});
</script>
</ac:layoutarea>
##INCLUDESCRIPTBOTTOM[/store/inc/bxslider/jquery.bxslider.js]##
</ac:visibilityarea>
</ac:widget>
</div>
<script>
var bond_div = document.getElementById("CAROUSEL23626");
var cond_div = document.getElementById("cond");
if (bond_div === null) {
cond_div.innerHTML = "<H3>No Items to Display</H3>";
}
</script>
$$CAROUSEL23626$$
</div>
发布于 2019-11-07 00:34:11
只有当bond_div
根本不存在时,div才会是null
。如果你想检查它是否为空,你需要测试它的innerText
。
if (bond_div.innerText.trim() == "") {
cond_div.innerHTML = "<h3>No Items to Display</h3>";
}
我使用innerText
而不是innerHTML
,因为它看起来里面有很多HTML标签。
.trim()
删除了值周围的所有空格,这些空格是由于HTML标记周围的所有空格和换行符而存在的。
https://stackoverflow.com/questions/58740339
复制相似问题