| Autor | Zpráva | ||
|---|---|---|---|
| vodys Profil |
Zdravím,
pro někoho možná naprostá banalita - pro mě nadlidský úkol. Potřebuji skrýt div, pokud v jiném divu bude prázdný atribut img src. Tedy pokud: <div class="obrazek"><img src=""></div> <div class="obsah">Obsah viditelný pouze s obrázkem</div> Našel jsem něco takového, ale chce to asi vyladit $(document).ready(function() {
$(".obrazek").each(function() {
var atr = $(".obrazek").attr("src");
if(atr === "") {
$(".obsah").addClass("hidden");
} else {
$(".obsah").removeClass("hidden");
}
});
});Díky za rady, případně pomoc! Můžete uzavřít, chyba byla v hlavičce a nastavení divu. Správně tedy <head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<div class="cokoliv"><img class="obrazek" src=""></div>
<div class="obsah">Obsah viditelný pouze s obrázkem</div>
<script type="text/javascript">
$(document).ready(function() {
$(".obrazek").each(function() {
var atr = $(".obrazek").attr("src");
if(atr === "") {
$(".obsah").addClass("hidden");
} else {
$(".obsah").removeClass("hidden");
}
});
});
</script> |
||
| Keeehi Profil |
Hele, víš že pokud budeš mít obrázků na stránce víc, tak budeš všechny obsahy skrývat/odkrývat jen podle toho, který bude obrázek vyjde jako poslední ve funkci each? Protože tam nikde nemáš vztah vůči tomu obrázkovému elementu co se zrovna konroluje.
A co to udělat pomocí CSS? div.obrazek:has(img[src=""]) + div.obsah {
display:none;
}Je možné, že tam mám nějaký překlep jelikož to teď nemohu otestovat ale v zásadě by to mělo nějak takto fungovat. |
||
| Tomášeek Profil |
#3 · Zasláno: 9. 12. 2019, 11:06:31
Keeehi:
„A co to udělat pomocí CSS?“ Tam si nejsem úplně jistý podporou. Pro reálné použití to asi není, ne? |
||
| Keeehi Profil |
#4 · Zasláno: 9. 12. 2019, 15:59:40
Tomášeek:
Máš asi pravdu. Co jsem teď koukal tak :has() je zatím jen ve fázi návrhu, což jsem si zapomněl ověřit. |
||
| vodys Profil |
Mohu Vás ještě požádat o variantu js na prázdný div před obrázkem?
Zjistil jsem, že <img src=""> se mi zobrazuje pouze v backendu - frontend už ukazuje prázdný div, nejlépe tedy doplnit současný JS. <div class="cokoliv"></div> <div class="obsah">Zobrazit pouze pokud je v divu text či html</div> |
||
| Tomášeek Profil |
vodys:
Tam už to jde i pomoci čistého css, :empty.
|
||
|
Časová prodleva: 6 let
|
|||
0