繁体   English   中英

使用javascript获取标题属性

[英]Getting the title attribute using javascript

在此处输入图片说明

我对 Javascript 还很陌生,我正在做一个使用面部识别来检测情绪的项目。 面部识别部分正在检测情绪,但我需要访问由此产生的情绪。 面部识别 API 不断有反馈,结果在“div” id= results 标签下不断变化

<div id="results" style="word-wrap:break-word;">
<span> Timestamp: 93.12 </span>
<br>
<span>Number of faces found: 1</span>
<br>
<span> Appearance: {"gender":"Male","glasses":"Yes","age":"25 - 34","ethnicity":"Black African"}</span><br><span>Emotions: {"joy":0,"sadness":0,"disgust":1,"contempt":0,"anger":0,"fear":0,"surprise":0,"valence":0,"engagement":0}
</span>
<br>
<span> Emoji: 
<img class="chromoji" title="Neutral Face" alt=":neutral_face:"     src="chrome-extension://cahedbegdkagmcjfolhdlechbkeaieki/images/apple/1f610.png"></span>
<br>
</div>

标题“Neutral Face”或 alt 是所需的占主导地位的 emption 的属性之一

我尝试使用解决方案

使用 Javascript 提取 HTML 中标签的属性以及如何使用 javascript 从类中的链接中获取标题属性

在我的实际代码中,我有

<div id="results" style="word-wrap:break-word;">
               <script>
                 //var images = document.querySelectorAll('img');
                 var emotion = document.getElementByTagName("img")[0].getAttributes("title");
                 console.log(emotion)
               </script>
             </div>

我尝试在生成结果的 JS 文件中使用此代码段中的最后两行代码

detector.addEventListener("onImageResultsSuccess", function(faces, image, timestamp) {
  $('#results').html("");
  log('#results', "Timestamp: " + timestamp.toFixed(2));
  log('#results', "Number of faces found: " + faces.length);
  if (faces.length > 0) {
    log('#results', "Appearance: " + JSON.stringify(faces[0].appearance));
    log('#results', "Emotions: " + JSON.stringify(faces[0].emotions, function(key, val) {
      return val.toFixed ? Number(val.toFixed(0)) : val;
    }));
    log('#results', "Emoji: " + faces[0].emojis.dominantEmoji);
    drawFeaturePoints(image, faces[0].featurePoints);
    var motion =  faces[0].emojis.dominantEmoji;
    log('#results', motion);
  }
});

同样在单独的时间我将其添加到需要情感识别反馈的 JS 文件中

var tag = document.getElementByTagName("img")
      var emotion= tag.getAttribute("title");
      console.log(emotion);

同样在另一个单独的试验中,我在索引 html 文件中做了这个

<script type="text/javascript">
                var image = document.getElementsByTagName("img")[0];
                var title = image.getAttribute("title");
                console.log(title); // shows the value of title for the element "image"
              </script>

该项目的主要思想是检测用户的情绪并根据该情绪播放音乐

你可以试试这个:

<script type="text/javascript">
    var image = document.getElementsByTagName("img")[0];
    var title = image.getAttribute("title");

    console.log(title); // shows the value of title for the element "image"
</script>

在此处查看演示: http : //codepen.io/anon/pen/vyVQBJ

在您的评论之一中,您说您尝试过

var emotion = document.getElementByTagName("img")[0].getAttributes("title"‌​);

尝试改为使用

var emotion = document.getElementsByTagName("img")[0].getAttribute("title"‌​);

函数 getAttribute() 在末尾没有 s,而函数 getElementsByTagName 在元素之后有一个 s。 此外,在您的脚本标签中,将其声明为 javascript 之类的,

<script type="text/javascript"> // your code </script>

别忘了在 console.log(emotion); 后面加一个分号。

不使用getAttributes("title"‌​)使用getAttribute("title"‌​)因为 JavaScript 中没有像getAttributes这样的函数。

工作演示:

 var emotion = document.getElementsByTagName("img")[0].getAttribute("title"); console.log(emotion);
 <img class="chromoji" title="Neutral Face" alt=":neutral_face:" src="https://i.stack.imgur.com/cp7qK.png" width="400" height="200">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM