2017-01-18 10 views
0

作成された要素を検出してCSSを適用するためにlivequeryを使用しています。Livequeryサポートされていない疑似問題

動作しますが、特定のセレクタに問題があります。

HTML:

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

JS:

Syntax error, unrecognized expression: unsupported pseudo: SomeElement

enter image description here

はlivequでのバグのように見える:上記の例では、このエラーが発生します

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

このセレクタでjqueryが失敗することはありません。

これはJSのフィドルですhttp://jsfiddle.net/20f05p33/1/ livequeryライブラリをスキップするには、jsフレームを下にスクロールしてください。

答えて

1

ユーザー\\代わり\

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

それとも

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

チェック更新フィドルの: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); 
     } 
関連する問題