Javascript 将JS/jQuery更改图像悬停在<;tr>;

Javascript 将JS/jQuery更改图像悬停在<;tr>;,javascript,jquery,html,hover,Javascript,Jquery,Html,Hover,下面显示了一些HTML,它们是以ASP经典格式动态生成的 $("input[type='radio']").hover(function(){ var src = $(this).parent().find("input[type='hidden']").val(); $(this).parent().parent().parent().find("img").attr("src",src); }); 可以有任意数量的组/表(大小/颜色)和任意数量的行/选项 $("input[type='ra

下面显示了一些HTML,它们是以ASP经典格式动态生成的

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
可以有任意数量的组/表(大小/颜色)和任意数量的行/选项

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
每个组/表都有一个img标记,每个行/选项都有一个隐藏字段及其相应的图像URL

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
在每一行的悬停处,我需要使用JS或jQuery(在ASP classic中工作的东西)将该组图像的src属性更改为该行的图像URL

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
如果需要,可以更改HTML以使其正常工作

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
多谢各位

    <table>
    <tr>
        <td style="font-weight: 700" colspan="2">
            Color<input id="colorSortOrder" type="hidden" value="1" />
        </td>
    </tr>
    <tr>
        <td>
            <input id="radioRed" type="radio" name="Color" value="R-" />
            <label for="radioRed">
                Red</label>
            <input type="hidden" value="Image1.jpg" />
        </td>
        <td rowspan="3">
            <img />
        </td>
    </tr>
    <tr>
        <td>
            <input id="radioOrange" type="radio" name="Color" value="O-" />
            <label for="radioOrange">
                Orange</label>
            <input type="hidden" value="Image2.jpg" />
        </td>
    </tr>
    <tr>
        <td>
            <input id="radioBlue" type="radio" name="Color" value="B-" />
            <label for="radioBlue">
                Blue</label>
            <input type="hidden" value="Image3.jpg" />
        </td>
    </tr>
</table>
<table>
    <tr>
        <td style="font-weight: 700" colspan="2">
            Size<input id="sizeSortOrder" type="hidden" value="2" />
        </td>
    </tr>
    <tr>
        <td>
            <input id="radioLarge" type="radio" name="Color" value="LA-" />
            <label for="radioLarge">
                Large</label>
            <input type="hidden" value="Image4.jpg" />
        </td>
        <td rowspan="3">
            <img />
        </td>
    </tr>
    <tr>
        <td>
            <input id="radioMedium" type="radio" name="Color" value="ME-" />
            <label for="radioMedium">
                Medium</label>
            <input type="hidden" value="Image5.jpg" />
        </td>
    </tr>
    <tr>
        <td>
            <input id="radioSmall" type="radio" name="Color" value="SM-" />
            <label for="radioSmall">
                Small</label>
            <input type="hidden" value="Image6.jpg" />
        </td>
    </tr>
</table>
$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});

颜色
红色

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
第1行检测悬停。 第2行转到td,查找td中的隐藏输入并获取值 第3行上升三次td>tr>table,查找img并用图像设置其属性src

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
第1行检测悬停。 第2行转到td,查找td中的隐藏输入并获取值 第3行在td>tr>表上运行三次,查找img并用图像设置其属性src。

您可以按照下面的操作

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
$('label[for]').closest('tr').mouseenter(function(){  
    $(this).siblings().find('img').hide();
    $(this).find('img').attr('src', $(this).find('input[type=hidden]').attr('value')).show(); 
});
你可以在下面做

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
$('label[for]').closest('tr').mouseenter(function(){  
    $(this).siblings().find('img').hide();
    $(this).find('img').attr('src', $(this).find('input[type=hidden]').attr('value')).show(); 
});

我将稍微更改HTML,通过为图像src添加如下数据属性来减少JavaScript解析所需

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
通过使用JavaScript replace,您可以编辑alt标记的扩展

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
编辑:这也是我刚才使用console.time()探查器对其他提交的测试运行得最快的

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});

最后:

我会稍微修改一下HTML,通过像这样为图像src添加数据属性来减少所需的JavaScript解析

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
通过使用JavaScript replace,您可以编辑alt标记的扩展

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});
编辑:这也是我刚才使用console.time()探查器对其他提交的测试运行得最快的

$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});

最后:

我的表id和名称属性将是动态的,因此我尝试将jQuery选择器更改为$(“表[id^='options']tr”).hover(函数(){$(“[name^='optionVal']).attr({“src:$(this).data('img'),“alt:$(this.data('img')););但是$(“[name^='optionVal']”似乎不行?谢谢。假设我的html是这样的:每个图像的id以“optionImage”开头.这个编辑怎么样:不得不移动图像它变得很烦人我需要每个表/组的图像。只需要能够引用图像,我认为我们很好。还有HTML 5支持的东西…顺便说一句,不要偏离主题,但是imstillyHolder.com上的任何链接都不起作用(对我来说)我的表id和名称属性将是动态的,因此我尝试将jQuery选择器更改为$(“表[id^='options']tr”).hover(函数(){$(“[name^='optionVal']]).attr({“src”:$(this.data('img'),“alt”:$(this.data('img'));});但是$(“[name^='optionVal']”好像不行?谢谢。假设我的html是这样的:每个图像的id以“optionImage”开头.这个编辑怎么样:不得不移动图像它变得很烦人我需要每个表/组的图像。只需要能够引用图像,我认为我们很好。还有HTML 5支持的东西…顺便说一句,不要偏离主题,但是imstillyHolder.com上的任何链接都不起作用(对我来说)谢谢。尝试了你的代码,但这似乎只适用于表的第一行。谢谢。尝试了你的代码,但这似乎只适用于表的第一行。谢谢,这可以工作,但选择器也包括标题行。我忘记了“radio”之后的]谢谢,这可以工作,但选择器也包括标题行。我忘记了]after“无线电”
$("input[type='radio']").hover(function(){
var src = $(this).parent().find("input[type='hidden']").val();
$(this).parent().parent().parent().find("img").attr("src",src);
});