Mathias Brodala: ­ finden

Beitrag lesen

Hallo Jeena.

Warum bekomme ich hierbei ein false in allen Browsern?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
  <title>&amp;shy; Test</title>
  <script type="text/javascript">
   [code lang=javascript]function foo() {
    alert("&shy;" == document.getElementsByTagName("p")[0].innerHTML);
   }


>   </script>  
>  </head>  
>  <body onload="foo();">  
>   <p>&shy;</p>  
>  </body>  
> </html>[/code]  
>   
> Wenn ich das gleiche mit &amp; mache dann kommt true.  
  
Hast du dir schon einmal den Wert von document.getElementsByTagName("p")[0].innerHTML ausgeben lassen? Was du hier siehst, ist auch das, was JS sieht. Dein „&shy;“ entspricht also einer normalen Zeichenkette, da sich JS nicht die Bohne für Zeichenreferenzen interessiert  
  
Eine Vergleichsmöglichkeit wäre also die Nutzung von charCodeAt:  
  
`alert(173 == document.getElementsByTagName("p")[1].innerHTML.charCodeAt(0)); // true`{:.language-javascript}  
  
  
Einen schönen Dienstag noch.  
  
Gruß, Mathias  

-- 
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)  
  
debian/rules