Avatar billede Morten Professor
10. oktober 2019 - 11:22 Der er 8 kommentarer og
2 løsninger

Kan simpelhen ikke nå et element

Hej

Jeg forsøger at nå en div med class="fs-label" men jeg kan simpelhen ikke gøre noget, kan bruges koden alle mulige steder ellers, men bare ikke der.

<div class="header-widget-region" role="complementary">
            <div class="center-col-full">
                <div id="text-2" class="widget widget_text">            <div class="textwidget">
<div class="facetwp-facet facetwp-facet-str facetwp-type-fselect" data-name="str" data-type="fselect">
<div class="fs-wrap multiple fs-default" tabindex="0">
<div class="fs-label-wrap">
<div class="fs-label">Varekategori</div> <----------- Jeg kan ikke nå den??
<span class="fs-arrow"></span></div>
<div class="fs-dropdown hidden">
.........

Min kode:

jQuery( document ).ready(function() {
        jQuery(".fs-label").html("<b>Alternativ tekst</b>");
  });

Håber de er en der kan hjælpe mig.

Mvh.
Morten
Avatar billede ejvindh Ekspert
10. oktober 2019 - 11:54 #1
Nu bruger jeg ikke selv jQuery, men i ren javascript ville jeg nok have tildelt den div et id, i stedet for en class. Alternativt gennemløbe alle div'er i class'en og så skifte teksten der.
Avatar billede keysersoze Guru
10. oktober 2019 - 12:11 #2
Hvad melder din developer toolbar af fejl hvis nogen?
Avatar billede Morten Professor
10. oktober 2019 - 12:13 #3
Den melder ikke nogen så kan ikke finde hjælp der, det er mega træls, har brugt en del tid og hår :o)
Avatar billede Slater Ekspert
10. oktober 2019 - 12:14 #4
Du må nok vise os noget mere kode, eller helst et live eksempel, for der er ikke noget galt i den kode du viser os.
Avatar billede softspot Forsker
10. oktober 2019 - 12:58 #5
Er det HTML som indsættes efter load-eventet (f.eks. via AJAX) og dermed noget som sker efter din kode kører?
Avatar billede Morten Professor
10. oktober 2019 - 15:00 #6
Jeg ville rigtig gerne vise mere en live side, men den er skjult, da google ikke skal se den, og der dermed vil være dublecontent "Kan ikke lige stave til det"

Det er faktisk et filter system der køre igennem Ajax, kan det være derfor??
Avatar billede Morten Professor
10. oktober 2019 - 15:13 #7
Ej Hvor fedt det var derfor, så bruger $(document).load(........
Og så virker det :o)

Altid rart når der er nogle der kommer med nogle gode input :o)
Avatar billede Morten Professor
10. oktober 2019 - 15:19 #8
hov var vist for hurtig hvad kan jeg gøre når det er ajax.
Avatar billede Slater Ekspert
10. oktober 2019 - 15:29 #9
Hvis det er indhold der hentes med ajax, skal du udskifte indholdet hver gang det nye indhold bliver udskrevet. Det virker naturligvis ikke at gøre det én gang på load eller domcontentloaded.

Dvs. du skal bare flytte din element.html() kode fra at køre én gang som nu, til at køre i et callback fra ajax-funktionen. Men mere præcist hvordan er umuligt at fortælle dig, når vi ikke ved hvordan koden ser ud.
Avatar billede Morten Professor
10. oktober 2019 - 15:31 #10
Sådan her nu virker det :o)

(function($) {
    $(window).on('facetwp-loaded', function() {
        if($('body').hasClass('tax-product_brand') > 0) {
            $('#text-504 > div > div > div > div.fs-label-wrap > div.fs-label').append(" / M");
            $('#text-410 > div > div > div > div.fs-label-wrap > div.fs-label').append(" / F");
            }
    });
})(jQuery);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester