2017-07-10 6 views
1

Gibt es eine Möglichkeit, dieses Stück Code zu minimieren, also können wirWie ein Attributwert von anderem Attributwert eines gleichen Elements wechseln und erstes Attribut entfernen

Grundsätzlich in einer einzigen Zeile schreiben ich mag, dass die wechseln Attributwert von Daten-Original zu src und dann Daten-Original-Attribut aus dem Element zu entfernen. Unten ist mein Code, der für mich arbeitet, aber ich möchte diesen Teil des Codes minimieren, damit ich in einzelne Zeile schreiben kann.

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'); 
} 
+0

Sie könnten Kette die Funktionen. '.attr (...). removeAttr (...)' –

+2

Diese Frage gehört zu einer anderen Site im Stack Exchange-Netzwerk [Code Review] (https://codereview.stackexchange.com/) – Satpal

+0

@Satpal Nicht unbedingt. OP sucht nach einer spezifischen Lösung für ein bestimmtes Problem. Bei Code Review kann das Ergebnis zu Lesbarkeitszwecken sehr wahrscheinlich eine längere Codezeile sein. – Mast

Antwort

0

Sie mögen dieses

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'); 
} 
1

tun kann, ich glaube, Sie folgenden Code verwenden:

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

Ich möchte nicht für alle Elemente mit (img [Daten-Original) 'ersetzen. –

+0

@JitendraYadav Wählen Sie nach Ihrem Code '$ ('# pop-slider li: eq (nth)')' und suchen Sie den Nachkommen 'img' mit' attr ('data-original') 'und ändern Sie das Attribut. Habe ich es richtig gesagt? – Erfan

Verwandte Themen