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:
1<div class="content">
2  <div class="basket">
3     .... nějaký další kód
4  </div>
5</div>
<div class="content">
  <div class="basket">
     .... nějaký další kód
  </div>
</div>


Javascript (ten potřebuji upravit, aby to fungovalo):
1$(function() {
2 
3  var page = $(location).attr('pathname'); 
4  var basket = page.match(/basket/g);
5 
6  if (basket) {
7        // tenhle kód je nefunkční
8        var parentTag = $(".content > .basket").parent().get(0).tagName;
9        parentTag.css({"float":"none","width":"100%"});
10  }
$(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:
1var x = $(...).parent();
2if (x.get(0).tagName == 'DIV') {
3    x.css(...); // tady radeji druhou tridu nez prime css
4}
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(...);
}
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%"});
}
if (basket) {
    $(".basket").parent(".content").css({"float":"none","width":"100%"});
}
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0