Livequery 不受支持的伪问题

Livequery unsupported pseudo issue

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

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

HTML:

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

JS:

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

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

Syntax error, unrecognized expression: unsupported pseudo: SomeElement

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

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

用户 \ 而不是 \

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

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

检查更新 fiddle: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);
        }