【问题标题】:How to get an HTML element by his content?如何通过他的内容获取 HTML 元素?
【发布时间】:2017-08-03 07:03:50
【问题描述】:

我需要在页面加载时修改元素的 HTML,使其不在事件中。

我能做的就是用这个来获取这个元素包含的所有信息(如名称、状态等...):

Meteor.call("whereAreYou",function(err,succ){
    if(err){
      console.error(err);
    }else{
      console.log(succ);
      if(succ == undefined){
        Session.set("isNotHome", false)
      }else{
        var theMachine = InfosMachines.find { ipAddr: succ };
        //change the HTML
        Session.set("isNotHome",true);
      }
    }
  });

元素的结构是:

<li class="liMachine switch">
        <div id="nameMachine">
            <h3>{{nameMachine}}</h3>
        </div>
        <div id="stateMachine">
            State:<span class="state">{{stateMachine}}</span>
        </div>
        {{#if is_running_machine}}<i class="fa fa-spinner fa-spin"></i>{{else}}<button type="button" class="stop {{#if to_hide_stopM}}hidden{{/if}}"></button>{{/if}}
        {{#if is_alive_machine}}<i class="fa fa-spinner fa-spin"></i>{{else}}<button type="button" class="kill {{#if to_hide_stopM}}hidden{{/if}}"></button>{{/if}}
        {{#if is_stopped_machine}}<i class="fa fa-spinner fa-spin"></i>{{else}}<button type="button" class="start {{#if to_hide_startM}}hidden{{/if}}"></button>{{/if}}
    </li>

我想做类似的事情

nameMachine 为 "XX" 的元素 do ....

但我不知道如何提出请求。

有人可以让我走上正轨吗?

【问题讨论】:

    标签: javascript jquery html meteor


    【解决方案1】:

    如果您对字符串任何部分不区分大小写的匹配感到满意,您可以使用:contains

    $('#nameMachine h3:contains("XX")');
    

    或者,如果您需要区分大小写的字符串的完全匹配,您可以使用filter()

    $('#nameMachine h3').filter(function() {
      return $(this).text().trim() == 'XX';
    }) 
    

    【讨论】:

    • 感谢您的精彩回答,但我认为您的第一个回答中存在拼写错误,对吧?
    • 啊,是的,我把你的 id 弄错了,是 nameMachine 而不是 machineName :)
    • 我没注意到^^我指的是$('#nameMachine h3:contains("XX");,我认为应该是$('#nameMachine h3:contains("XX")');
    • 哦,是的,也是这样!
    猜你喜欢
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 2011-02-14
    • 2015-12-12
    • 1970-01-01
    相关资源
    最近更新 更多