Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何从同一元素的其他属性值中切换一个属性值并删除第一个属性_Jquery - Fatal编程技术网

Jquery 如何从同一元素的其他属性值中切换一个属性值并删除第一个属性

Jquery 如何从同一元素的其他属性值中切换一个属性值并删除第一个属性,jquery,Jquery,有没有什么方法可以最小化这些代码,这样我们就可以在一行中编写 基本上,我想将dataoriginal的属性值切换到src,然后从元素中删除dataoriginal属性。下面是我的代码,这是为我工作,但我想尽量减少这段代码,所以我可以写在一行 if($('#pop-slider li:eq(nth)').find('img').attr('data-original')){ var cureSrc = $('#pop-slider li:eq(nth)').find('img').attr

有没有什么方法可以最小化这些代码,这样我们就可以在一行中编写

基本上,我想将dataoriginal的属性值切换到src,然后从元素中删除dataoriginal属性。下面是我的代码,这是为我工作,但我想尽量减少这段代码,所以我可以写在一行

if($('#pop-slider li:eq(nth)').find('img').attr('data-original')){
    var cureSrc = $('#pop-slider li:eq(nth)').find('img').attr('data-original');
        $('#pop-slider li:eq(nth)').find('img').attr('src',cureSrc);
        $('#pop-slider li:eq(nth)').find('img').removeAttr('data-original');
}
你可以这样做

var img=$('#pop-slider li:eq(nth)').find('img');
if(img.attr('data-original')){
        img.attr('src',img.attr('data-original'));
        img.removeAttr('data-original');
}

我认为您可以使用以下代码:

$('#pop-slider li:eq(nth)').find('img[data-original]').each(function(){
    $(this).attr('src',$(this).attr('data-original')).removeAttr('data-original')
});

你可以把这些功能链接起来
.attr(…).removeAttr(…)
此问题不一定属于堆栈交换网络@Satpal中的另一个站点。OP正在寻找特定问题的特定解决方案。在代码检查中,出于可读性的目的,结果很可能是一行较长的代码。我不想替换所有具有(img[原始数据)@JitendraYadav的元素。根据您的代码,您选择$('pop slider li:eq(nth)然后查找具有attr('data-original')的后代img然后更改它的属性。我做对了吗?