2012-09-27 2 views
5

は、[RESOLVED]

は質問の詳細については、以下を参照してください。1.8.2にjQueryの1.4.2プラグインを更新しようとしているが、構文エラーを取得し、認識できない表現

var maxUl = $(objUl+'[rel="'+maxItems+'"]'); 

現在のjQuery 1.8.2実装で機能的であることが

var maxUl = $(objUl.attr('id')+'[rel="'+maxItems+'"]'); 

する必要があります。


まず、私の問題を私に見ていただきありがとうございます。私は他の多くの質問を見てきましたが、私はこの問題が同じではないと言うことができます。

私はページ上のjQueryプラグインをロードしようとしたとき、私は放火犯からこのエラーを取得しています。エラー:構文エラー、認識できない表現:[オブジェクトのオブジェクト] [REL =「7」]

注:プラグインはjQuery 1.4.2の実行時に正常に動作しますが、複数のjQueryインスタンスを実行することはこのプロジェクトのオプションではありません。

私が実装しようとしているプラ​​グインがhereを発見し、これまでのところ、私は(彼のjsファイルに次の2行にそれを絞り込むことができたと思いますhere

最良推測

をダウンロードすることができますjquery.dcdrilldown.1.2.js)

// Get level of largest sub menu 
var maxUl = $(objUl+'[rel="'+maxItems+'"]'); 
var getIndex = findMaxIndex(maxUl); 

そして、最高のように私は

var maxUl = $(objUl+'[rel="'+maxItems+'"]'); 
012を呼び出した後に休憩を伝えることができます

findMaxIndex()の方法では、ファイヤーバグがブレークポイントにしないためです。私のHTMLファイルがこの

JSコール

$(function() { // Drill down menu 
    $('#drilldown').dcDrilldown({ 
    speed   : 'slow', 
    saveState  : true, 
    showCount  : false, 
    linkType  : 'breadcrumb' 
}); 

HTML UL

<div class="graphite dd-container"> 
<ul id="drilldown"> 
<li><a href="#">Home</a> 
    <ul> 
    <li><a href="#">Page 1</a></li> 
    <li><a href="#">Page 2</a></li> 
    <li><a href="#">Page 3</a></li> 
    <li><a href="#">Page 4</a></li> 
    </ul> 
</li> 
<li><a href="#">Products</a> 

のように見えます

あなたが提供できるすべてのヘルプは大幅に、感謝の誰もが理解されるであろう。

+0

自分で解決しました!それは、私が指摘した2つの行のうちの最初の行と何か関係があったことがわかります。構文は、 '+'を付加する代わりに.append()関数を使用する必要がありました。正しい行は次のとおりです。 \t \t \t \t var maxUl = objUl.append( '[rel = "' + maxItems + '"]'); –

+1

この典型的な原因:セレクタがDOMの要素と一致しません セレクタを使用してオブジェクトをループしていますが、必ずしも真ではない、または セレクタの形式が間違っています。 http://www.thalesjacobi.com/Jquery_error_uncaught_exception_Syntax_error_unrecognized_expression – zoranc

答えて

6

どのオブジェクトが設定されているかを確認する必要があります。私はあなたが別の文字列に連結したときにそれ自身を文字列に解決する前に賭けました。今はおそらくそれをしません(したがって、[オブジェクトオブジェクト]の部分)。

objUlに何が設定されているかを見て、代わりに.attr( 'id')の値を取得してみてください。

編集 変更

var maxUl = $(objUl+'[rel="'+maxItems+'"]'); 

次の変更を行い、それがfinee

// var maxUl = $(objUl+' [rel="'+maxItems+'"]'); 
var maxUl = $(objUl.html()+' [rel="'+maxItems+'"]'); 

作品のjQuery 1.10.4を操作するには
var maxUl = $(objUl.attr('id')+'[rel="'+maxItems+'"]'); 
+0

ありがとうございました。それはDOMオブジェクトを作成しようとしていて、jQueryが気に入らなかった古い方法でそれをやっていました。 objUi要素には、 '+'記号ではなく.append()関数を追加する必要がありました。あなたの答えをありがとう! –

+0

ちょっとあなたに投票しようとしましたが、悲しいことに私はまだその担当者がいません:(おかげだよ!) –

+0

あなたの答えはもっと正確です。ページ!あなたの.attr()メソッドを使用すると、完全に動作します。 –

0

へ10
//$('#'+idHeader+' a').live('click',function(e){ 
$('#'+idHeader).on('click','a',function(e){ 
関連する問題