Jquery 乘法元素悬停的Reduce代码

Jquery 乘法元素悬停的Reduce代码,jquery,html,css,Jquery,Html,Css,如何在不更改HTML标记的情况下减少此jQuery代码? 我应该使用数据属性吗? 但我不知道我如何才能达到这个形象元素。 下面是一个例子: 乱数假文。 Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。 乱数假文。 Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。 您可以将DOM元素关系用作 $(".block").hover(function() { $(this).closest('.row').find('.imag

如何在不更改HTML标记的情况下减少此jQuery代码? 我应该使用数据属性吗? 但我不知道我如何才能达到这个形象元素。 下面是一个例子:


乱数假文。
Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。

乱数假文。 Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。


您可以将DOM元素关系用作

$(".block").hover(function() {
    $(this).closest('.row').find('.image-hover img').show();
},
function() {
    $(this).closest('.row').find('.image-hover img').hide();
});
$(“.block”).hover(函数(){
$(this).closest('.row').find('.image hover img').show();
},
函数(){
$(this).closest('.row').find('.image hover img').hide();
});

乱数假文。
Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。

乱数假文。 Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。


您可以将DOM元素关系用作

$(".block").hover(function() {
    $(this).closest('.row').find('.image-hover img').show();
},
function() {
    $(this).closest('.row').find('.image-hover img').hide();
});
$(“.block”).hover(函数(){
$(this).closest('.row').find('.image hover img').show();
},
函数(){
$(this).closest('.row').find('.image hover img').hide();
});

乱数假文。
Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。

乱数假文。 Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。


您可以如下更改jQuery


您可以如下更改jQuery

另一种选择是:

$(function () {
    $('[class*="tlh-"], [class*="tlb-"]').hover(
        function () {
            $(this).parent().next('p').find('img').css('display', 'block');
        },
        function () {
            $(this).parent().next('p').find('img').css('display', 'none');
    });
});
我的建议是:

$(函数(){
$('[class*=“tlh-”],[class*=“tlb-”])。悬停(
函数(){
var matchResult=this.className.match(/t?b-([0-9])/);
if(matchResult!=null&&matchResult.length==2){
$(“.icon”+matchResult[1]+“-hover”).css('display','block');
}
},
函数(){
var matchResult=this.className.match(/t?b-([0-9])/);
if(matchResult!=null&&matchResult.length==2){
$(“.icon”+matchResult[1]+“-hover”).css('display','none');
}
});
});
.icon1悬停,
.icon2悬停{
显示:无;
}
.行{
显示:内联块;
浮动:左;
宽度:50%;
}

乱数假文。
Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。

乱数假文。 Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。

另一种选择是:

$(function () {
    $('[class*="tlh-"], [class*="tlb-"]').hover(
        function () {
            $(this).parent().next('p').find('img').css('display', 'block');
        },
        function () {
            $(this).parent().next('p').find('img').css('display', 'none');
    });
});
我的建议是:

$(函数(){
$('[class*=“tlh-”],[class*=“tlb-”])。悬停(
函数(){
var matchResult=this.className.match(/t?b-([0-9])/);
if(matchResult!=null&&matchResult.length==2){
$(“.icon”+matchResult[1]+“-hover”).css('display','block');
}
},
函数(){
var matchResult=this.className.match(/t?b-([0-9])/);
if(matchResult!=null&&matchResult.length==2){
$(“.icon”+matchResult[1]+“-hover”).css('display','none');
}
});
});
.icon1悬停,
.icon2悬停{
显示:无;
}
.行{
显示:内联块;
浮动:左;
宽度:50%;
}

乱数假文。
Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。

乱数假文。 Lorem ipsum dolor sit amet,奉献精英。塞德,面部!。


为什么要将JS用于CSS? 对于解决方案,您只需要CSS。 删除JS并添加此CSS。我在你的JSFIDLE上测试过

.row {
  display: inline-block;
  float: left;
  width: 50%;
}

[class ^= "tlh-"],[class ^= "tlh-"] {
    [class $= "-hover"] {
        display: none;
    }
}

[class ^= "tlh-"]:hover,[class ^= "tlh-"]:hover {
    [class $= "-hover"] {
        display: block;
    }
}

为什么要使用JS来实现CSS? 对于解决方案,您只需要CSS。 删除JS并添加此CSS。我在你的JSFIDLE上测试过

.row {
  display: inline-block;
  float: left;
  width: 50%;
}

[class ^= "tlh-"],[class ^= "tlh-"] {
    [class $= "-hover"] {
        display: none;
    }
}

[class ^= "tlh-"]:hover,[class ^= "tlh-"]:hover {
    [class $= "-hover"] {
        display: block;
    }
}

我的眼睛在流血:对不起,为什么要用JS来做这个。有什么特别的原因吗?我的眼睛在流血:对不起,为什么要用JS呢。有什么特别的原因吗?