2016-09-30 2 views
2

Ich verwende Shopify, um meinen Online-Shop zu hosten, und habe einige Bilder zu einer Seite hinzugefügt, die ich statisch sein möchte.Wie HTML des Eltern-Tags mit jQuery oder Javascript bearbeiten?

Leider möchte Shopify diese mithilfe von fancybox in Leuchtkästen verwandeln und es verwandelt das Bild, das ich anbiete, in das Kind eines Link-Tags. Also in dem Code, den ich bearbeiten kann, sehe ich:

<div style="text-align: center;"> 
<img src="//cdn.shopify.com/s/files/1/1333/8187/t/6/assets/ASI_elle_decoration.jpg?9949612793051485599" alt="elle decoration magazine" style="display: inline-block; padding: 0 25px;"/> 
</div> 

aber wenn ich die Seite es getan hat, laden diese:

<div style="text-aling: center;"> 
<a href="//cdn.shopify.com/s/files/1/1333/8187/t/6/assets/ASI_elle_decoration.jpg?9949612793051485599" class="fancyboximg"> 
    <img src="//cdn.shopify.com/s/files/1/1333/8187/t/6/assets/ASI_elle_decoration.jpg?9949612793051485599" alt="elle decoration magazine" style="display: inline-block; padding: 0 25px;"/> 
</a> 
</div> 

würde ich lieber die Originaldatei nicht bearbeiten, dass dies verursacht Verhalten, weil es Site-weit verwendet wird, und ich weiß, dass ich etwas anderes veranlassen werde, wie beabsichtigt zu arbeiten, wenn ich tue.

Ist es möglich, das Link-Tag nachträglich zu entfernen?

Vielen Dank für Anregungen!

Antwort

3

Verwenden Sie .unwrap() jQuery-Funktion.

Bitte überprüfen Sie das folgende Snippet.

$(document).ready(function(){ 
 
    $('.fancyboximg > #remove-fancy').unwrap(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div style="text-aling: center;"> 
 
    <a href="//cdn.shopify.com/s/files/1/1333/8187/t/6/assets/ASI_elle_decoration.jpg?9949612793051485599" class="fancyboximg"> 
 
    <img id="remove-fancy" src="//cdn.shopify.com/s/files/1/1333/8187/t/6/assets/ASI_elle_decoration.jpg?9949612793051485599" alt="elle decoration magazine" style="display: inline-block; padding: 0 25px;"/> 
 
    </a> 
 

 
    <a href="//cdn.shopify.com/s/files/1/1333/8187/t/6/assets/ASI_elle_decoration.jpg?9949612793051485599" class="fancyboximg"> 
 
    <img src="//cdn.shopify.com/s/files/1/1333/8187/t/6/assets/ASI_elle_decoration.jpg?9949612793051485599" alt="elle decoration magazine" style="display: inline-block; padding: 0 25px;"/> 
 
    </a> 
 
</div>

+0

Danke für die Antwort. Gibt es eine Möglichkeit, das Skript zu einem einzelnen div zu lokalisieren? Derzeit werden Bilder an anderer Stelle auf der Seite ausgeblendet. –

+1

Dafür sollten Sie eine aktuelle ID an aktuelle img geben und der Selektor wird mit ID sein und die Entpackung wird nur für dieses bestimmte div auftreten. –

+0

Würde das ungefähr so ​​aussehen? Entschuldigung, ich bin ziemlich unerfahren in jquery ... $ (Dokument) .ready (function() { $ ('. Fancyboximg> # entfernen-fancy'). Unwrap(); }); –

1

Sie mit der jQuery unwrap Funktion ausprobieren können.

var imgTags = $("img");  
if (imgTags.parent().is("a")) { imgTags.unwrap(); } 

Link to jQuery doc

+0

Dank @christiangh, habe ich es geschafft, damit zu arbeiten. Ist es möglich, zwei richtige Antworten zu markieren? –

Verwandte Themen