javascript – 如何使用相同的类名检查是否存在具有足够元素的元素?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何使用相同的类名检查是否存在具有足够元素的元素?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3491字,纯文字阅读大概需要5分钟。
内容图文
![javascript – 如何使用相同的类名检查是否存在具有足够元素的元素?](/upload/InfoBanner/zyjiaocheng/750/e681f51cbbef4275864a8f8d586167db.jpg)
只有在具有相同类名的元素后面有元素的元素时,我才会如何显示popOver? (计数器将包含第一个元素)
示例:(使用counter = 3)
bar
bar
foo
bar
foo
foo
bar <-- PopOver would show up here
bar
bar
foo <-- PopOver would show up here
foo
foo
foo
示例:(使用counter = 2)
bar <-- PopOver would show up here
bar
foo
bar
foo <-- PopOver would show up here
foo
bar <-- PopOver would show up here
bar
bar
foo <-- PopOver would show up here
foo
$(".bar").each(function(){
$(this).append("<div class='popOver'>these would be recommended</div>");
});
.bar {
color: #000;
text-decoration: none;
}
.popOver{
width:400px;
height: 30px;
background: green;
position: absolute;
z-index: 999;
margin-left: 40px;
opacity: 0.5;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="foo">Foo</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="foo">Foo</li>
</ul>
解决方法:
稍微改进@Praveen Kumar的答案,这个功能应该做你想要的:
function addPopOverEvery(n, selector) {
$(selector).each(function() {
var $original = $(this),
$self = $(this),
$is_pop = true,
i = 0;
if ($original.prev().is(selector)) {
for (i = 1; i < n; i++) {
$self = $self.prev();
if (!$self.is(selector) || $self.find('.popOver').length) {
$is_pop = false;
break;
}
}
}
if ($is_pop) {
$self = $original;
for (i = 1; i < n; i++) {
$self = $self.next();
if (!$self.is(selector)) {
$is_pop = false;
break;
}
}
}
if ($is_pop) {
$original.append("<div class='popOver'><-- these would be recommended</div>");
}
console.log($original.get(0));
});
}
addPopOverEvery(3, '.bar');
.bar {
color: #000;
text-decoration: none;
}
.popOver{
width:300px;
height: 30px;
background: green;
position: absolute;
display: inline-block;
z-index: 999;
margin-left: 40px;
opacity: 0.5;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="foo">Foo</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="foo">Foo</li>
</ul>
2:
function addPopOverEvery(n, selector) {
$(selector).each(function() {
var $original = $(this),
$self = $(this),
$is_pop = true,
i = 0;
if ($original.prev().is(selector)) {
for (i = 1; i < n; i++) {
$self = $self.prev();
if (!$self.is(selector) || $self.find('.popOver').length) {
$is_pop = false;
break;
}
}
}
if ($is_pop) {
$self = $original;
for (i = 1; i < n; i++) {
$self = $self.next();
if (!$self.is(selector)) {
$is_pop = false;
break;
}
}
}
if ($is_pop) {
$original.append("<div class='popOver'><-- these would be recommended</div>");
}
console.log($original.get(0));
});
}
addPopOverEvery(2, '.bar');
.bar {
color: #000;
text-decoration: none;
}
.bar {
color: #000;
text-decoration: none;
}
.popOver{
width:300px;
height: 30px;
background: green;
position: absolute;
display: inline-block;
z-index: 999;
margin-left: 40px;
opacity: 0.5;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="foo">Foo</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="bar">Bar</li>
<li href="#" class="foo">Foo</li>
</ul>
内容总结
以上是互联网集市为您收集整理的javascript – 如何使用相同的类名检查是否存在具有足够元素的元素?全部内容,希望文章能够帮你解决javascript – 如何使用相同的类名检查是否存在具有足够元素的元素?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。