如果子元素有HTML数值范围样式值,则隐藏.parent
jQuery: hide .parent if child has HTML numerical range style value?
我使用的是Greasemonkey脚本,名为Youtube视频评级栏与功率表,它在Youtube上的每个视频下放置一个栏,显示它的评级,喜欢,不喜欢等。这是非常有用的,但我想把它更进一步。孩子/内部元素:
<div class="powerBar" style="width: 26.1181%;"></div>
可以看到,子元素class="powerBar"是视频受欢迎程度的主要决定因素。它有一个style="width: 26.1181%"属性,这是一个随机的数值百分比值。我很好奇如何隐藏父元素,如果内部类/子。powerBar,小于其样式宽度的75%。父元素:
<li class="yt-shelf-grid-item">
我之前问了一个关于相似性的问题。如果可以使用我之前问的问题中的代码,那就太棒了。谢谢您在百忙之中抽出时间。
工作版本:https://stackoverflow.com/revisions/40065508/3
这应该是你想要的:
// ==UserScript==
// @name youtube hide powerbar
// @namespace hides videos with low popularity
// @include *www.youtube.com*
// @version 1
// @grant none
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// ==/UserScript==
setInterval(function() {
function getWidthPercent(element) {
return parseFloat(element.style.width) || 0;
}
$(".likesBar").each(function() {
if (getWidthPercent(this) < 88) $(this).closest(".video-list-item").css( "opacity", "0.1" );
});
}, 2000);
// requires https://greasyfork.org/en/scripts/2302-youtube-video-ratings-bar-with-power-meter
间隔是用来定期检查DOM更新,例如当使用渐进式加载视频功能或由于其他Greasemonkey脚本异步加载评级信息时。
无论等级如何,每个电源栏的宽度是否相同?我不确定,想知道实际的宽度是否会因不同的评级而改变。
栏本身是否不包含在父元素中?这是有道理的。如果没有,那么它应该足够简单,计算出你的宽度的70%是:
var powerBarWidth = parseInt($(".powerBar").css("width").replace('px', ''));
var powerBarPercentage = ((powerBarWidth / 100) * 70);
相关文章:
- javascriptexecutor-不能点击body样式标记为“”的元素;溢出:隐藏;
- 隐藏元素:Javascript属性和CSS样式之间的区别
- 访问一个控制器的ng隐藏值以在全局控制器中操纵另一个控制器中的ng样式
- 单击隐藏列表样式
- 在同一页面上使用jQuery Mobile Flip Switch切换具有隐藏输入样式的图像
- 显示隐藏样式 JavaScript 选项卡菜单
- 角度 ui-select2 - 如何在控件上呈现样式之前隐藏
- 数据表:列显示在“显示/隐藏列”列表中,即使它具有“显示:无”样式
- 在弹出式显示和隐藏上遇到样式问题
- 如何在 LI 中强制 DIV(带有溢出隐藏样式)仍然显示
- 我可以在谷歌地图样式API上隐藏非海洋吗?
- 隐藏具有挖空样式绑定的表格行
- JQuery-显示/隐藏样式属性覆盖css
- 禁用或隐藏样式表,如何操作
- 如果所有li子元素都具有CSS样式显示,则隐藏父元素:none
- HTML样式=“;溢出:隐藏;使用JavaScript/jQuery访问溢出内部的元素
- 为HTML样式添加隐藏/显示功能(不在CSS文档中)
- 当JS被禁用时隐藏内容的样式
- 使用Javascript或CSS,是否有选择CSS样式溢出:隐藏的元素
- 样式隐藏、block和none之间的区别