2016-11-12 2 views
-2

Ich habe das a-Skript, das ein Wort zu einem div auf mouse-over fügt jetzt möchte ich das Wort erinnert werden und in der Konsole gedruckt, wenn Sie auf das Wort klicken.
Aber die Wörter sind Links wie:
<a href"">So,</a>
Wenn ich auf das Wort klicke, erinnert sich das Skript jetzt an die ganze Sache mit dem Link. Also muss ich einen Weg finden, wie man es "nur" auf das Wort "So" irgendwelchen Ideen "strippt"?
Hier ist der Code:Javascript erinnere mich an variable, strip div

<script src="https://code.jquery.com/jquery-2.2.4.js"></script> 

<script> 
var $allescheissehierrein = $('.allescheissehierrein'), 
    datenbank = { 
    1: '<a href="file:///Users/shirin/Desktop/A/Media%20Design/TCB/one.html">So,</a>', 
    2: '<a href="file:///Users/shirin/Desktop/A/Media%20Design/TCB/one.html">HERE,</a>'}, 
    simbol = '', 
    platzierRandom = function() { 
     var w = document.body.offsetWidth, 
      h = document.body.offsetHeight, 
      rd = document.getElementsByTagName('div'); 

     for (var c = 0, l = rd.length; c < l; c++) { 
     if (rd[c].className !== 'random') { 
      continue; 
     } 

     var xCoord = Math.floor(Math.random() * w), 
      yCoord = Math.floor(Math.random() * h); 

     switch (true) { 
      case (xCoord >= w - rd[c].offsetWidth - 10): 
      xCoord = w - rd[c].offsetWidth - 10; 
      break; 
      case (xCoord <= 10): 
      xCoord = 10; 
      break; 
      case (yCoord >= h - rd[c].offsetHeight - 10): 
      yCoord = h - rd[c].offsetHeight - 10; 
      break; 
      case (yCoord <= 10): 
      yCoord = 10; 
      break; 
     } 

     rd[c].style.left = xCoord + 'px'; 
     rd[c].style.top = yCoord + 'px'; 
     } 
    }; 

//einfach loop mit bis 100 oder was auch immer 
for (var i = 1; i <= 2; i++) { 

    //einen div in eine variable speichern 
    //es wird für die datenbank "data-hover" auf den i wert gesetzt welcher ja stetig hochzählt darum alle verschieden 
    switch (true) { 
    case (i < 24): 
     simbol = '#'; 
     break; 
    case ((i > 23) && (i < 47)): 
     simbol = '**'; 
     break; 
    case ((i > 46) && (i < 97)): 
     simbol = '-'; 
     break; 
    case ((i > 96) && (i < 114)): 
     simbol = '1.'; 
     break; 
    case (i > 113): 
     simbol = '~~'; 
     break; 
    } 

    //diesen die dem allescheissehierrein-div appendieren (100 mal) 
    $allescheissehierrein.append('<div data-hover="' + i + '" class="random"><p>' + simbol + '</p></div>'); 
} 

//diese platzier dings funktionion erst nach der platzierung aller divs (diese 100) machen weil sie ja vorher gar nicht existieren 
platzierRandom(); 

//richtig mit jquery UND datenbank 
$('.random') 
    .hover(function() { 
    var hoverdata = $(this).data('hover'), 
     satzvondatenbank = datenbank[hoverdata]; 
    $(this).append($('<span>' + satzvondatenbank + '</span>').show('slow')); 


     $('a').mousedown(function(event) 
    { 
     var poemArray; 
    if (localStorage.getItem("poem")) 
    { 
     poemArray = localStorage.getItem("poem"); 

     console.log(poemArray); 
    } 
    else 
    { 
     poemArray = ""; 
     localStorage.setItem("poem", poemArray); 
    } 

    poemArray += " " + satzvondatenbank; 

    console.log(poemArray); 


    localStorage.setItem("poem", poemArray); 

    } 
) 



    }, function() { 
    $(this).find('span:last').remove(); 
    }); 











    </script> 

</html> 
+0

Sie müssen nicht unhöflich sein. Ich wollte nur darauf hinweisen, dass die Frage nicht klar war, noch stellt sie ein Problem dar [mcve]. Schlage vor, dass du dir ein paar Minuten Zeit nimmst, um [ask] auch zu lesen – charlietfl

Antwort

0

Sie sind mit dem Anker-Tag navigieren können jquery verwenden und erhalten dann den Text jquery wie diese verwenden,

var anchorText=$("a").text(); 

Dies wird die Innertext holen, die im Inneren des Anker-Tag vorhanden ist . Oder Sie könnten mit dieser Methode auch,

var anchor=<a href="file:///Users/shirin/Desktop/A/Media%20Design/TCB/one.html">So,</a>

anchor.substring(indexOf(">")[0],indexOf("<")[1]); 
Verwandte Themen