webForumDet fria alternativet

if div contains?

4 svar · 683 visningar · startad av ramo_and

ramo_andMedlem sedan nov. 2010214 inlägg
#1

Tjena!

Jag försöker göra så att om en div innehåller en viss text så vill jag att en annan div skall få "display: block;"

Min kod ser ut såhär:

<script type="text/javascript">

$(document).ready(function() {

  if($(".login:contains('Mina sidor')")){

    $('#topField').attr('style','display: block;')
}

});

</script>

har jag kodat fel?

voigtann1Medlem sedan juni 20019 519 inlägg
#2

jquery selectorer retunera ett objekt så det kommer alltid vara true, kontrollera dess length:

if($(".login:contains('Mina sidor')").length>0){
	$('#topField').css({'display': 'block'})
}

(testad och fungerar)

Fast din kod verkar ju fungera ändå, kolla din ordning på din kod, gissar att du skapar #topField med jquery?

demo: http://jsbin.com/umesu4/

ramo_andMedlem sedan nov. 2010214 inlägg
#3

När jag la till det där .length>0 så funka det :)

Jag skapar inte #topField med jQuery faktiskt, och jag kollade även ordningen på koden med innan jag skrev här, hehe.

Tack för hjälpen!

ramo_andMedlem sedan nov. 2010214 inlägg
#4

En liten fråga, som alltid när jag är i farten så blir det problem i Internet Explorer.. Detta funkar bara på förstasidan när man är inloggad. Då visas #topField. Men så fort man klickar på nån annan sida så försvinner #topField. Kollar html-koden och css:en med IE:s developer tool och där står det att #topField har display: block men ändå så visas den inte.....

Går det att säga vad som kan vara fel utan utförligare info o mer html/css osv?

voigtann1Medlem sedan juni 20019 519 inlägg
#5

ramo_and skrev:

Går det att säga vad som kan vara fel utan utförligare info o mer html/css osv?

Förmodligen inte, kolla vad som diffar de andra sidorna mot på den som det fungerar.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)