ursus contionabundo: Welche Pseudoklasse benutze für meinen Link

Beitrag lesen

Dein Problem ist mit einer Pseudo-Klasse nicht lösbar.

Mit Javascript KANNST Du aber alle Links durchsuchen und, wenn dieser mit der aktuellen URL übereinstimmt, eine eigene Klasse setzen:

Test

Tip: Die Funktionen addClassName(), removeClassName(), hasClassName() und getOrCheckObjekt() würde ich in eine Skript-Datei auslagern. Die brauchst Du bestimmt nochmal.

<!DOCTYPE HTML>
<html lang="de">
	<head>
		<title>selflink</title>
		<meta charset="utf-8">
		<style>
		li a {
			padding: .2em .3em .2em .3em;
		}	
		
		li a.SelfLink,
		li a.SelfLink:visited {	
			background-color:#ccf;
		}
		</style>
	</head>
	<body>
		<h1>selflink.htm</h1>
		<ul>
		<li><a href="foo">foo</a></li>
		<li><a href="foo">foo</a></li>
		<li><a href="selflink.htm">foo</a></li>
		</ul>

		<script>

		function MarkSelfLinks() {
			var thisUrl=document.location.href;
			var allLinks = document.getElementsByTagName('a');
			for ( let i=0; i < allLinks.length; i++) {
				if ( 0 == thisUrl.indexOf( allLinks[i].href ) )  {
					addClassName( allLinks[i], 'SelfLink');
				}
			}

		}
		
		function addClassName( o, cName ) {
			o = getOrCheckObjekt( o );
			if ( o && ( ! hasClassName( o, cName ) ) ) {
				if ( o.className ) {
					var s = o.className;
					s = o.className + ' ' +  cName;
					s = s.replace( /^ +/ ).replace( / +$/ );
					o.className = s;
				} else {
					o.className = cName;
				}
				return true;
			}
			return false;
		}
		
		function removeClassName( o, cName ) {
			o = getOrCheckObjekt( o );
			if (o) {
				if( cName==o.className ) {
					o.className='';
					return true;
				} else {
					var c = o.className;
					var a = c.split( / +/ );
					var aNew = new Array();
					var m = 0;
					for ( let i = 0; i < a.length; i++ ) {
						if ( cName != a[i] ) {
							aNew[++m] = a[i];
						}
					}
					o.className = aNew.join(' ');
					return true
				}
			}
			return false;
		}
		 
		function hasClassName( o, cName ) {
			o = getOrCheckObjekt( o );
			if ( o ) {
				var c = o.className;
				var a = c.split( / +/ );
				for ( let i = 0; i < a.length; i++ ) {
					if ( cName == a[i] ) {
						return true;
					}
				}
			}
			return false;
		}
		 
		function getOrCheckObjekt( o ) {
			if ( ! 'object' == typeof( o ) ) {
				o = document.getElementById( o );
			}
		 
			if ( 'object' == typeof( o ) ) {
				return o;
			}
			console.log( 'kein Objekt übergeben, "' + o + '" ist unbekannt"' );
			return false;
		}		
		
		MarkSelfLinks();

		</script>
	</body>
</html>
0 58

Welche Pseudoklasse benutze für meinen Link

liebewinter
  • css
  • meinung
  1. 2
    Rolf B
    1. 0
      liebewinter
    2. 1
      Gunnar Bittersmann
      • css
      • html
      1. 0
        liebewinter
      2. 0
        liebewinter
        1. 0
          Matthias Apsel
          1. 0
            liebewinter
            1. 0
              ursus contionabundo
            2. 0
              Rolf B
              1. 0
                liebewinter
                1. 0
                  Rolf B
                  1. 0
                    liebewinter
  2. -1
    ursus contionabundo
    1. 0
      Rolf B
      1. 0
        ursus contionabundo
        1. 0
          Rolf B
          1. 0
            ursus contionabundo
        2. 1
          Rolf B
          1. 0
            ursus contionabundo
        3. 1
          Gunnar Bittersmann
          1. 0
            ursus contionabundo
        4. 1
          Matthias Apsel
          1. 0
            ursus contionabundo
    2. 0
      beatovich
      1. 0
        Matthias Apsel
        1. 0
          beatovich
          1. 0
            Matthias Apsel
            1. 0
              beatovich
        2. 0
          liebewinter
          1. 1
            Gunnar Bittersmann
            • javascript
            1. 0
              Gunnar Bittersmann
            2. 0
              beatovich
              1. 0
                Gunnar Bittersmann
                1. 0
                  beatovich
            3. 0
              liebewinter
              1. 0
                Gunnar Bittersmann
                • css
                • html
                • javascript
            4. 0
              liebewinter
              1. 0
                Rolf B
                1. 0
                  liebewinter
                  1. 0
                    Rolf B
                    1. 0
                      liebewinter
                      1. 0
                        Rolf B
                        1. 0
                          liebewinter
                        2. 0
                          Gunnar Bittersmann
                          • html
                          • php
                        3. 0
                          liebewinter
                    2. 0
                      Gunnar Bittersmann
                      • html
                      1. 0
                        Tabellenkalk
                2. 0
                  Gunnar Bittersmann
      2. 0
        Rolf B
        1. 0
          beatovich
          1. 0
            Rolf B
          2. 0
            beatovich
            1. 2
              Orlok
              • programmiertechnik
            2. 1
              Rolf B
              1. 0
                beatovich
                1. 0
                  Rolf B
                2. 0
                  Matthias Apsel