Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击单词时获取单词的值_Javascript_Html - Fatal编程技术网

Javascript 单击单词时获取单词的值

Javascript 单击单词时获取单词的值,javascript,html,Javascript,Html,我有传递到页面的文本。使用下面的突出显示功能也可以突出显示“特殊单词” 它将其放入一个标记中,并带有使其突出显示的类和样式。运行此功能后,文本中的特殊单词将突出显示并可单击 因此它会对文本执行此操作:Hello。创建一个,将其放入类和样式中 我现在遇到的问题是,当我单击一个已突出显示的单词时,它有自己的class='clickable'如何获取已单击的单词?我需要检查单击了哪个word,以便查询数据库并获取word的注释 highlight = words => { const hig

我有传递到页面的文本。使用下面的
突出显示功能也可以突出显示“特殊单词”

它将其放入一个
标记中,并带有使其突出显示的类和样式。运行此功能后,文本中的特殊单词将突出显示并可单击

因此它会对文本执行此操作:
Hello
。创建一个
,将其放入
样式

我现在遇到的问题是,当我单击一个已突出显示的单词时,它有自己的
class='clickable'
如何获取已单击的单词?我需要检查单击了哪个word,以便查询数据库并获取word的注释

highlight = words => {
  const high = document.getElementById('scrollable');
  const paragraph = high.innerHTML.split(' ');
  const res = [];

    paragraph.map(word => {
      let t = word;
      if (words.indexOf(word) > -1) {
        t =
          '<a class="clickable" style="background-color: yellow;">' +
          word +
          '</a>';
        console.log(words.indexOf(word));
      }
      // console.log(words);
      res.push(t);
    });

    high.innerHTML = res.join(' ');
    const elementsToMakeClickable = document.getElementsByClassName(
      'clickable'
    );
    const elementsToMakeClickableArray = Array.from(elementsToMakeClickable);

    elementsToMakeClickableArray.map(element => {
      element.addEventListener('click', this.viewAnnotation.bind(this));
    });
}
highlight=words=>{
const high=document.getElementById('scrollable');
const段落=high.innerHTML.split(“”);
常数res=[];
段落.map(word=>{
让t=单词;
if(words.indexOf(word)>-1){
t=
'' +
话+
'';
console.log(words.indexOf(word));
}
//控制台日志(文字);
res.push(t);
});
high.innerHTML=res.join(“”);
const elementTomateClickable=document.getElementsByClassName(
“可点击”
);
const-elementTomateClickableArray=Array.from(elementTomateClickable);
ElementToMateClickableArray.map(元素=>{
element.addEventListener('click',this.viewAnnotation.bind(this));
});
}
要保存一些时间日志,请执行以下操作:
console.log(文字)
将返回三个特殊单词。
console.log(words.indexOf(word))
会将每个单词返回为0、1或2,因为我们显然是控制台。记录
索引


数据库中的特殊单词是:
Hello
Lorem
dolor
。并不是说它应该有帮助,但我已经把它包括进去了。

我不确定我是否正确地理解了你。。。由于您已经为每个
a.clickable
-元素收听了
click
-事件,我假设您的问题是获取
单词的检索部分

事件
-hander中,当前元素作为
目标添加到
事件
-object中。要检索html/文本内容,可以将此元素与
textContent
/
innerText
/
innerHTML
属性结合使用:

viewAnnotation(e) {
  const word = e.target.textContent.trim()

  // Do something with `word`
}

我不确定我是否正确理解你。。。由于您已经为每个
a.clickable
-元素收听了
click
-事件,我假设您的问题是获取
单词的检索部分

事件
-hander中,当前元素作为
目标添加到
事件
-object中。要检索html/文本内容,可以将此元素与
textContent
/
innerText
/
innerHTML
属性结合使用:

viewAnnotation(e) {
  const word = e.target.textContent.trim()

  // Do something with `word`
}

快速、简单、直截了当。非常感谢你的先生。这就是问题的答案,我会在计时器一到,就接受它作为答案。@Andrew很高兴听到这对你起了作用。感谢您的反馈:)快速、简单、直截了当。非常感谢你的先生。这就是问题的答案,我会在计时器一到,就接受它作为答案。@Andrew很高兴听到这对你起了作用。感谢您的反馈:)