Autor Zpráva
tester
Profil *
Píšu funkci která zkonvertuje odkazy buď na čistý text (má přesunout innerHTML o úroveň výš a odstranit ten link) anebo na obrázek pokud je uvnitř.

Zkusil jsem toto:

var selectors = 'a.mark-video;a.sp5;a>img[alt!=""]'
selectors = selectors.split(";").join(", ");
$(selectors).each(
function(){
   var current = this;
   if (this.nodeName == "IMG")
     {
     current = this.parentNode;
     if (current.nodeName != "A")
       current = this.parentNode;
     if (current.nodeName != "A")
       return false;
     current = $(current);
     }
  }
);

proměnná selektors je uživatelova definice. Poslední definice říká že uživatel chce najít jen ty linky které obsahují tag img který nemá popisek. Uvnitř funkce proměnná current má odkazovat na ten link.

Nevím ale jak postupovat dál. Jak to v JQuery udělat abych vytvořil dočasný wrapper a ten pak přidal do wrapperu toho current?


Tak na něco jsem přišel:
    function(){
       var current = this;
       if (this.nodeName == "IMG")
         {
         current = this.parentNode;
         if (current.nodeName != "A")
           current = this.parentNode;
         if (current.nodeName != "A")
           return false;
         current = $(current);
         }
       var wrapper = current[0].parentNode;
       var new_context = $();
       new_context.append(current[0].innerHTML);
       current.remove();
       wrapper.append(new_context);
      }

jen u toho
new_context.append(current[0].innerHTML);
mám problém. Nedaří se mi přidat ten obrázek (innerHTML) dovnitř toho prázdného JQuery. Jak na to?


Oprava #2:

    function(){
       var current = this;
       if (this.nodeName == "IMG")
         {
         current = this.parentNode;
         if (current.nodeName != "A")
           current = this.parentNode;
         if (current.nodeName != "A")
           return false;
         current = $(current);
         }
       var wrapper = current.parent();
       var new_context = $().append(current.html());
       current.remove();
       wrapper.append(new_context);
      }

Poslední problém:
obrázek i odkaz zmizí, ale nepodařilo se mi vložit ten obrázek do rodiče. Čím to je?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0