Autor Zpráva
Mufna
Profil
Zdravím Vás. Potřebuji pomocí javascriptu najít rodičovský (resp. nejbližší nadřazený) element typu <div> a nastavit mu CSS. Přesněji řečeno, potřebuji pomocí JS změnit styl stávající třídě "content", pokud za divem s touto třídou následuje div s třídou "basket".

HTML:
<div class="content">
  <div class="basket">
     .... nějaký další kód
  </div>
</div>


Javascript (ten potřebuji upravit, aby to fungovalo):
$(function() {

  var page = $(location).attr('pathname'); 
  var basket = page.match(/basket/g);

  if (basket) {
        // tenhle kód je nefunkční
        var parentTag = $(".content > .basket").parent().get(0).tagName;
        parentTag.css({"float":"none","width":"100%"});
  }
anonymníí
Profil *
Mufna:
Nejsem JavaScriptař, nicméně v proměnné parentTag máš, pokud něco, string div, tuším, že i velkými písmeny.

Mělo by to být (symbolicky) asi takto:
var x = $(...).parent();
if (x.get(0).tagName == 'DIV') {
    x.css(...); // tady radeji druhou tridu nez prime css
}

Nevím ale, jestli můžeš takhle míchat jQuery s čistým JS (.parent() vs. tagName), možná ano.
Mufna
Profil
anonymníí:
díky za radu, zkusím to upravit ... takže můžu pak vlastně udělat toto, že ?

if (x.get(0).tagName == 'DIV') {
   x.addClass(...);
}



Tak jsem to vyřešil, jde to ještě jednodušeji :-)

if (basket) {
    $(".basket").parent(".content").css({"float":"none","width":"100%"});
}

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: