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? |
||
Časová prodleva: 8 let
|
0