【问题标题】:Livequery unsupported pseudo issueLivequery 不支持的伪问题
【发布时间】:2017-01-18 12:58:22
【问题描述】:

我正在使用livequery 来检测创建的​​元素并应用一些 css。

它可以工作,但某些选择器有问题。

HTML:

<p id="Test:SomeElement.Id">TEST3</p>

JS:

$("body").livequery("#Test\:SomeElement\.Id" , function() { 
$(this).css('color', 'red');
})

上面的例子会产生这个错误:

语法错误,无法识别的表达式:不支持的伪:SomeElement

看起来它是 livequery 中的一个错误,因为 jquery 不会因为这个选择器而失败。

这是 JS 小提琴http://jsfiddle.net/20f05p33/1/ 请将 js 框架滚动到底部以跳过 livequery 库。

【问题讨论】:

    标签: javascript jquery css livequery


    【解决方案1】:

    用户 \\ 而不是 \

    $("body").livequery("#Test\\:SomeElement\\.Id" , function() { 
      $(this).css('color', 'red');
    })
    

    或者

    $("body").livequery('p[id="Test:SomeElement.Id"]' , function() { 
          $(this).css('color', 'red');
    })
    

    【讨论】:

      【解决方案2】:

      检查更新的小提琴:jsfiddle.net/20f05p33/2/

      $(document).ready(function () {
        $( "#btn" ).click(function() {
          $( "#nav" ).append( '<p class="warning">TEST2</p>' );
          $( "#nav" ).append( '<p id="Test:SomeElement.Id">TEST3</p>' );
        }); 
      });
      
      var myStringArray = ['.warning', '[id="Test:SomeElement.Id"]'];
      
              try {
                  $("body").livequery(myStringArray.join() , function() { 
                      $(this).css('color', 'red');
                  })
              }
              catch(err) {
                  console.log(err.message);
                  alert(err.message);
              }
      

      【讨论】:

        猜你喜欢
        • 2017-12-08
        • 2022-08-22
        • 1970-01-01
        • 1970-01-01
        • 2013-12-11
        • 2016-09-29
        • 2018-03-18
        • 1970-01-01
        相关资源
        最近更新 更多