首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工具箱jQuery

工具箱jQuery
EN

Stack Overflow用户
提问于 2015-05-21 13:48:24
回答 1查看 132关注 0票数 1

我正在尝试使用jQuery设置用户界面,.js脚本从二进制可执行文件中加载一些数据,并且应该将这些数据显示在表示所需源的元素旁边的工具箱中。html页面给出了元素扩展框的结构,从图像中可以看到这一点。我的问题是,工具提示只会弹出最后一个源(音频编解码器06,它覆盖了所有其他源),而且我需要为每个源提供一个图片盒,因为每当我在不同的源上驱动鼠标时,它都应该改变他的内容,所以每个源都需要一个工具箱。

在这里,.js文件javascript jQuery:

代码语言:javascript
复制
 if (ServiceType=='spu.outputs') {
   Mode=json.data["OUTPUT_HANDLING"];
   if ((Mode=="a") || (Mode==2)) {
     Mode=2;
   } else if (Mode=="3") {
     Mode=3;
   } else {
     Mode=1;
   }
 }
 $('#spu_inputs_services').data("Mode"+ServiceID,Mode);
 Context_ServiceID.find('.extended-monitoring').load('html/monitoring/monitoring-'+ServiceType+'-'+Mode+'.html', function() {

            if ((ServiceType=='spu.sources')) {
                console.log ("set tooltip spu.sources");
                    $(this).tooltip({items: "[data]", 
                        content: "<p>test</p>"});
    $.getJSON("../"+ServiceName+"/configedit?cfgName=3.&json=1", function (data) {
            if ((ServiceType=='spu.inputs')) {
                console.log ("dolbyA"+ $(this));
                        $(this).tooltip({items: "[dolbyA]",
                        content: "<p>test dolbyA</p>"});
            }
            if ((ServiceType=='spu.inputs')) {
                console.log ("dolbyB"+$(this));
                        $(this).tooltip({items: "[dolbyB]",
                        content: "<p>test dolbyB</p>"});
            }
            if ((ServiceType=='spu.inputs')) {
                console.log ("dolbyC"+$(this));
                        $(this).tooltip({items: "[dolbyC]",
                        content: "<p>test dolbyC</p>"});
            }
            if ((ServiceType=='spu.inputs')) {
                console.log ("dolbyD"+$(this));
                        $(this).tooltip({items: "[dolbyD]",
                        content: "<p>test dolbyD</p>"});
            }
            if ((ServiceType=='spu.inputs')) {
                console.log ("dolbyE"+$(this));
                        $(this).tooltip({items: "[dolbyE]",
                        content: "<p>test dolbyE</p>"});
            }
            if ((ServiceType=='spu.inputs')) {
                console.log ("dolbyF"+$(this));
                        $(this).tooltip({items: "[dolbyF]",
                        content: "<p>test dolbyF</p>"});
            }

html元素:

代码语言:javascript
复制
  <div style="clear:both;">
      <div style="float:left">Audio Codec 01</div>
      <div id="AUDIO_CODEC_1" data="dolby" dolbyA="A" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 02</div>
      <div id="AUDIO_CODEC_2" data="dolby" dolbyB="B" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 03</div>
      <div id="AUDIO_CODEC_3" data="dolby" dolbyC="C" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 04</div>
      <div id="AUDIO_CODEC_4" data="dolby" dolbyD="D" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 05</div>
      <div id="AUDIO_CODEC_5" data="dolby" dolbyE="E" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 06</div>
      <div id="AUDIO_CODEC_6" class="dolby" dolbyF="F" style="float:right">n/a</div>
  </div> 

控制台将对象记录为$(this),未定义为'id':

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-26 09:51:26

因此,我为这个问题找到了一个优雅的解决方案,希望它能帮助其他jQuery怪胎:

代码语言:javascript
复制
        console.log ("dolby "+ServiceType+'-'+ServiceID+'-'+Mode+$(this).html());
        $(this).find("div[dolby]").each(function() {
            console.log ("dolby 2 "+ServiceType+'-'+ServiceID+'-'+Mode+$(this).html()+$(this).attr("dolby"));
            $(this).tooltip({items: "[dolby]", content: "<p>test dolby "+$(this).attr("dolby")+"</p>"});
            }
        });

因此,我还更改了.html文件,其中我正在从以下位置加载信息:

代码语言:javascript
复制
 <div style="clear:both;">
      <div style="float:left">Audio Codec 01</div>
      <div id="AUDIO_CODEC_1" data="dolby" dolby="1" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 02</div>
      <div id="AUDIO_CODEC_2" data="dolby" dolby="2" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 03</div>
      <div id="AUDIO_CODEC_3" data="dolby" dolby="3" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 04</div>
      <div id="AUDIO_CODEC_4" data="dolby" dolby="4" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 05</div>
      <div id="AUDIO_CODEC_5" data="dolby" dolby="5" style="float:right">n/a</div>
  </div>
  <div style="clear:both;">
      <div style="float:left">Audio Codec 06</div>
      <div id="AUDIO_CODEC_6" data="dolby" dolby="6" style="float:right">n/a</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30375674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档