2016-03-29 11 views
0

eingeben Ich suche nach einer Möglichkeit, Wörter in einem Textfeld hervorzuheben (oder eine andere Möglichkeit, das Wort bemerkbar zu machen), wenn sie auf einer Liste sind (wahrscheinlich eine Array-Liste mit Javascript).Markieren Sie Wörter, wenn Sie aus einer Liste mit Javascript

Ich erwarte nicht, dass dies in Echtzeit ist, eine Schaltfläche, die die Wörter in der Textbox überprüft, wird einwandfrei funktionieren. Grundsätzlich ein "Wenn Wort ist (Word1, Word2, etc.) dann Fügen Sie hier in Word einfügen."

Ich bin auch damit einverstanden, nur das Wort Großbuchstaben zu machen, um Veränderung zu bedeuten. Was auch immer ist einfach. Ich bin neu in Javascript und verstehe nur das grundlegende Konzept dafür und möchte lernen, wie man es mit einer Textbox interagieren lässt.

Antwort

0

Sie könnten es fett machen <b>Word</b> oder betonen Sie nach einem Stil mit <em>Word</em> Sehen Sie diese https://developer.mozilla.org/en-US/docs/Web/HTML/Element/em für weitere Informationen über die EM-Tag.

+0

Ja, was auch immer das Wort identifiziert hat Änderungen bei mir in Ordnung ist. Ich muss meist nur verstehen, wie man es identifiziert und die Änderung zu dem Wort macht. Fett, kursiv, drehen Sie es auf Großbuchstaben usw. –

+0

Oh, ich sehe, Sie können Wörter nicht unabhängig voneinander in einem Textfeld formatieren, weil Sie Markup nicht innerhalb eines Textfeldwerts haben können. Sie könnten stattdessen ein editierbares div verwenden, indem Sie die Eigenschaft '' contenteditable'' setzen – gabesoft

+0

werfen Sie einen Blick auf diesen Stift http://codepe.io/anon/pen/ZWJzOV – gabesoft

0

Hier ist ein schnelles Javascript-Beispiel, das von der in den Kommentaren der Antwort von gabesoft referenzierten contenteditable-Eigenschaft abarbeitet. Sie können eine Liste von Wörtern definieren, das Textfeld angeben und dann eine Schaltfläche verwenden, um die Hervorhebungen auszuführen.

JSFiddle Example

HTML:

<p contenteditable="true">This is a test of the word highlight system.</p> 
<button onClick="highlightWords()">highlight</button> 

JS:

//define words you want highlighted 
var arr = ['test', 'system']; 

//locate the element on the page to do the word operations 
//this will find the first <p> tag 
var textbox = document.getElementsByTagName('p')[0]; 

var highlightWords = function() { 
    //foreach word, perform highlighting actions 
    arr.forEach(function(word) { 

    //build regular expression to match against each variable (word) in our list 
    var regex = new RegExp("(" + word + ")", "gi"); 
    //g = can find multiple instances (global) 
    //i = case insenstive 

    //replace predefined textbox HTML with 'highlighted' version 
    //the regex will find matching words and wrap them in <strong> tags 
    //the $1 represents the matched word 
    textbox.innerHTML = textbox.innerHTML.replace(regex, "<strong>$1</strong>"); 
    }); 
} 
+0

Okay, ich verstehe es. Ich kannte Regex oder Gi nicht. Ich hatte das Konzept von var arr und bekam es, um den Textkasten zu lokalisieren. Aber alles andere war für mich leer. Ich lerne immer noch Javascript. Vielen Dank. = 3 –

+0

Klar, wenn du denkst, es wird für dich funktionieren (oder zumindest wie du willst), kannst du das als Antwort akzeptieren;) – Josh

Verwandte Themen