我觉得我会犯这个非常业余的错误,但经过一整天的拉扯我留下的头发后,这里有:
我需要能够检查页面上是否存在div,因为它包含ID字符串+当鼠标悬停在另一个div上时生成的变量。
例如:
我的侧边栏导航中有一个DIV,其中包含' Google'在一个范围内。
当用户将鼠标悬停在此div上时,我创建了一个包含span中文本的变量,让我们调用此变量sideBarButtonName。
然后,我想在DOM中搜索ID包含单词" nav _" + sideBarButtonName,如果存在这样的div,则抛出alert.wb 如果这不存在,那么我有一个其他声明正常工作。
我无法做到这一点!救命啊!
我挣扎的部分是检查
的计数 $("div[id*='nav_']") + (sideBarButtonName).length > 0
我创造了一个复制我所拥有的问题的小提琴。
谢谢!
答案 0 :(得分:1)
您需要将sideBarButtonName
放在选择器内。由于您的ID完全匹配,因此您可以直接定位:
$('#nav_' + sideBarButtonName).length
答案 1 :(得分:1)
从你的小提琴看来,“包含”似乎意味着等于,所以:
if ($('#nav_' + sideBarButtonName).length) {
// alert here
}
但是,看到您的HTML结构,您可能希望稍微改进一下:
<div class="sideBarButton" data-url="http://www.google.com">
<div id="nav_Google" class="side-nav">
</div>
<span>Google</span>
</div>
然后检查内部是否存在具有“side-nav”类的元素:
$('.sideBarButton').mouseenter(function() {
if ($(this).find('.side-nav').length) {
// alert here
}
});
答案 2 :(得分:0)
$("div[id='nav_" + sideBarButtonName + "']").length > 0) {
或
$("div #nav_" + sideBarButtonName + "").length > 0)