0

これは正しい方法ではないようです:

$(".row-fluid div").each(function() {
    var $this = $(this),
        getClassLFT = $this.attr("class").split(" ").map(function(item) {
            return item.indexOf("lineFromTop") === -1 ? "" : item;
        });

    // following line throws the error
    $this.find("."+ getClassLFT[0]).wrapAll("<div class='clear' />");
});

最後の行で次のエラーがスローSyntax error, unrecognized expression: . されます。このオブジェクトの最初の (そして唯一の) 値を取得したいです。どうすればそれを処理できますか?

4

2 に答える 2

2

コードピースではすべて問題ありません。ただし、コレクションgetClassLFTは空である可能性があり、使用する前に確認する必要がある場合があります...

if(getClassLFT.length){
  $this.find("."+ getClassLFT[0]).wrapAll("<div class='clear' />");
}
else{
  // handle here...
}

またはjQuery.isEmptyObject()を使用します

于 2013-01-10T14:09:36.893 に答える
1

に問題があると思いgetClassLFT[0]ます。空のコレクションである可能性があり、エラーが発生する理由..

のコレクションを埋めるためにコードを確認する必要がありますgetClassLFT[0]

于 2013-01-10T13:56:49.783 に答える