我创建了脚本来定位1个元素,并根据find来隐藏不同的元素。 事情是这是一个目录,所以有很多DIV具有相同的项目,ID等。 是否可以更改脚本,使其看起来像记录,而不是一旦找到1就行动?
这是HTML(2项 - 请记住它可能还有更多)
<div class="katalog-record-container katalog-library-record">
<div class="katalog-record">
<div class="katalog-record-details">
<div class="katalog-record-media">
<span class="katalog-field">Media class:</span>
<span class="katalog-value">eBook</span>
<div class="katalog-record-right">
<div class="katalog-record-availability">
<a href="http://katalog-url/web/katalog/"><span class="katalog-available">Available for loan</span></a>
</div>
</div>
</div>
</div>
</div>
<div class="katalog-record-container katalog-library-record">
<div class="katalog-record">
<div class="katalog-record-details">
<div class="katalog-record-media">
<span class="katalog-field">Media class:</span>
<span class="katalog-value">eAudio</span>
<div class="katalog-record-right">
<div class="katalog-record-availability">
<a href="http://katalog-url/web/katalog/"><span class="katalog-available">Available for loan</span></a>
</div>
</div>
</div>
</div>
</div>
<div class="katalog-record-container katalog-library-record">
<div class="katalog-record">
<div class="katalog-record-details">
<div class="katalog-record-media">
<span class="katalog-field">Media class:</span>
<span class="katalog-value">eAudio</span>
<div class="katalog-record-right">
<div class="katalog-record-availability">
<a href="http://katalog-url/web/katalog/"><span class="katalog-available">Available for loan</span></a>
</div>
</div>
</div>
</div>
</div>
<div class="katalog-record-container katalog-library-record">
<div class="katalog-record">
<div class="katalog-record-details">
<div class="katalog-record-media">
<span class="katalog-field">Media class:</span>
<span class="katalog-value">eBook</span>
<div class="katalog-record-right">
<div class="katalog-record-availability">
<a href="http://katalog-url/web/katalog/"><span class="katalog-available">Available for loan</span></a>
</div>
</div>
</div>
</div>
</div>
使用的脚本:
<script type="text/javascript"> $(function () {
var checkExist = setInterval(function () {
if ($('.katalog-record-container.katalog-library-record .katalog-record-media span:contains("eBook")').length > 0) {
$('.katalog-record-container.katalog-library-record .katalog-record-right').hide();
}
clearInterval(checkExist);
}, 10);
});
</script>
但看起来当它找到电子书时它会删除所有div的可用性,并且它不应该是因为并非它们都是电子书
请帮忙吗?
答案 0 :(得分:0)
$(function () {
var checkExist = setInterval(function () {
if ($('.katalog-record-container.katalog-library-record .katalog-record-media span:contains("eBook")').length > 0) {
$('.katalog-record-container.katalog-library-record .katalog-record-media span:contains("eBook")').next().hide(); // Change this line only.
}
clearInterval(checkExist);
}, 10);
});
我想你想要隐藏“电子书”之后的“可用于贷款”项目,然后这样做会解释你的问题。 检查一下:https://jsfiddle.net/3cbc8jyb/
答案 1 :(得分:0)
您应该遍历包含跨度的div。这是工作代码:
$(function() {
$.each($('.katalog-record-media'), function() {
if ($(this).children('.katalog-value').text()==='eBook') {
$(this).children('.katalog-record-right').hide();
}
})
});
这里有一个演示:https://jsfiddle.net/j7jw31or/1/
答案 2 :(得分:0)
此代码工作正常,但删除了所有顶级div的措辞,我想修改它,所以逐个单独看DIV,然后删除仅在DIV中找到该单词的工作 - 抱歉只是试图制作这个清楚,我不认为我在帮助:)过度描述!!
$(function() {
var checkExist = setInterval(function() {
if ($('.katalog-record-media span:contains("eBook")').length > 0) {
$('.katalog-record-right').hide();
}
clearInterval(checkExist);
}, 10);
});
顺便说一下checkExist非常重要,因为文本可能从一开始就不存在。