Autor Zpráva
Panasonixon
Profil *
Zdravíčko,
mám trošku problém... potřeboval bych přiřadit pomocí jquery pro 1 odkaz atribut target="_blank"

zkoušel jsem
$("a[href^='http://adresawebu.cz/fotogalerie']", $(this)).attr('target', '_blank');
ale neumím to :(
aDAm
Profil
zkus takhle:

$("a[href^=http://adresawebu.cz/fotogalerie]").attr('target', '_blank');
Panasonixon
Profil *
otevírá pořad ve stejném okně
Nox
Profil
1) console.log($("a[href^=http://adresawebu.cz/fotogalerie]")) => vypíše to správně?

2) zkus $("a[href^=http://adresawebu.cz/fotogalerie]").prop('target', '_blank');
Panasonixon
Profil *
1. konzole vypisuje [ ]
2. taky nic
pcmanik
Profil
Panasonixon:
Je problem priradit tomu 1 odkazu nejake id? Bude to tak naviac rychlejsie.
Nox
Profil
Panasonixon:
(1) znamená, že je selektor špatně ... zkus url v selektoru obalit apostrofy

$("a[href^=' http://adresawebu.cz/fotogalerie ']").prop('target', '_blank');
(bez mezer - nějak se mi to tu rozbíjí)

pcmanik:
Ten selektor pasuje na víc odkazů, tzn. na všechny co vedou do fotogalerie ... leda by tohle Panasonixon vlastně nepotřeboval
Panasonixon
Profil *
jde o to, že eshop generuje odkazy bez targetu... a já bych potřeboval 1 konkrétní odkaz otevřít do nového okna... A to bez zásahu do systému


Nox:
ani takhle ne.... už nevím..
shaggy
Profil
Nox:
... .prop('target', '_blank') ...
V zápise cez .attr problém nie je (dokonca prop by sa podľa odporúčaní malo používať iba na nastavenie checked, disabled a pod.).

Panasonixon:
Chcelo by to odkaz na eshop, bez tohto nevieme, v čom je chyba (pretože zápis z [#2] je úplne v poriadku).
Panasonixon
Profil *
eshop mám na localhostu


tohle funguje... ale pro všechny externí odkazy... takže jQuery funguje...

$(function() {
   $("a[href*=':not([href*='"+location.hostname.replace]http://']:not([href*='"+location.hostname.replace
           (")").each(function]www.","")+"'])").each(function() {
       $(this).click(function(event) {
             event.preventDefault();
             event.stopPropagation();
             window.open(this.href, '_blank');
        }).addClass('externalLink');
   });
});
shaggy
Profil
Panasonixon:
eshop mám na localhostu
To nič nemení na tom, že ti bez odkazu na živú ukážku poradiť nevieme.
Keby si chcel, nie je problém zobrať iba vygenerovaný html kód, obrázky, štýly a javascripty a niekam to nahrať. Ale je to samozrejme na tebe, ja radu nepotrebujem.
_es
Profil
Panasonixon:
potřeboval bych přiřadit pomocí jquery pro 1 odkaz atribut target="_blank"
Prečo pomocou jQuery? Prečo nie normálne v HTML <a target=_blank ...? A keď už z nejakého dôvodu JS, na čo aj jQuery? Veď aj bez jQuery to ide veľmi jednoducho:
objektOdkazu.target="_blank"
aDAm
Profil
_es: řekl bych že tady bude právě v tom sestavit ten selektor aby mu fungoval, jinak by to už měl pomocí toho jQuery
_es
Profil
aDAm:
bude právě v tom sestavit ten selektor
Na 1 odkaz? Prečo nedá „normálne“ <a target=_blank href=adresa>?
shaggy
Profil
_es:
Nechcem byť zlý, ale prečítal si si vôbec túto tému?

Odhliadnuc od toho, problém nie je v samotnom javascripte (a teraz je nepodstatné, či s použitím jquery, alebo bez neho), problém je v tom, že dostal od nás veľa funkčných riešení a napriek tomu tvrdí, že mu to nejde + kým nám neukáže jeho kód, tak mu viac pomôcť nedokážeme.
_es
Profil
shaggy:
prečítal si si vôbec túto tému?
Možno by bolo jednoduchšie upraviť e-shop. A ak aj nie, tak predsa sa musí dať nejako dostať k objektu odkazu, aj bez jQuery, a spraviť to ako v príkaze v [#12].

Panasonixon:
eshop mám na localhostu
Povídání o živých ukázkách » „Mám to zatím jen na localhostu.
noName
Profil *
A co tohle: $("a[href^='")[0].target="_blank";​]http://adresawebu.cz/fotogalerie']")[0].target="_blank";​;


$("a[href^='odkaz']")[0].target="_blank";​ - snad se to nerozhodí jako předchozí příspěvek.
shaggy
Profil
noName:
A načo by malo byť dobré toto? Keď tam má jQuery a chce použiť jQuery, tak použije to čo mu radili na začiatku. Ak tam nemá jQuery, použije to, čo napísal _es.
Tvoje kombinovanie mi príde zbytočné a neefektívne.
noName
Profil *
shaggy:
To je sice pěkný, ale ani jedna z možností (v případě použití jen jquery) není funkční :)
pcmanik
Profil
shaggy:
Neefektivne je jQuery. Na skutocne jednoduche veci ako tu ukazal _es nieje treba jQuery. Framework ma svoje uplatnenie, ale zase pouzivat ho na kazdu blbost a znizovat si tak vykonost stranky je tiez prehnane.
shaggy
Profil
noName:
To, že jemu to nefunguje neznamená, že to nie je funkčné. Tvoj zápis je zbytočne komplikovaný.

pcmanik:
Môžem vedieť, prečo máš potrebu mi niečo také vysvetlovať? Otázka znela, ako to urobiť v jQuery, dostal odpoveď, ako to urobiť v jQuery. Dostal aj odpoveď, ako to urobiť v "klasickom" javascripte. Ja som len poukazoval na to, že noName zbytočne spája obidve odpovede, keď problém je niekde inde a jeho riešenie je na pohľad najkomplikovanejšie.
Okrem toho, vieš, že jeho eshop nie je postavený kompletne na jQuery? Ja nie, preto sa len riadim tým, na čo sa pýtal.
noName
Profil *
shaggy:
Když tvrdíš, že to, co uvedli výše funguje, zkoušel si to?
shaggy
Profil
noName:
Samozrejme, skúšal som to a fungovalo to.
_es
Profil
shaggy:
prop by sa podľa odporúčaní malo používať iba na nastavenie checked, disabled a pod.
...na nastavenie vlastností a objekty odkazov v JS vlastnosť target majú.
noName
Profil *
shaggy:
Já jsem to také zkoušel, ale bohužel to nefungovalo.
joe
Profil
noName:
Nauč se správně uzavírat řetězec do uvozovek a vlevo vyber správný framework.

http://jsfiddle.net/sLKyT/1/
noName
Profil *
Omlouvám se, při testování jsem to měl správně, ale nebylo to uzavřené v apostrofu při hledání u jQuery. Omlouvám se:)

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