2012-03-06 7 views
-2

次のjavascriptがあり、dvservicestitleクラスのdivとdvservicescontentのdivのすべてのliタグでテキストを取得するさまざまな方法を試しましたクラス。どちらの仕事と私は理由が分からない。誰でもこのコードの何が間違っているのか考えていますか?はこのjqueryオブジェクトから正しい結果を得ることができません

if (html == "") html = "<div class='dvservicestitle'>Our Services</div><div class='dvservicescontent'><ul></ul></div>"; 

var title = $(html).find(".dvservicestitle"); 
var elements = $("dvservicescontent li", $(html)); 
+2

「をどちらも仕事は」問題の説明ではありません。何か努力してください –

答えて

0

理由があります。あなたのHTML変数はあなたが探しているdivなので、find()メソッドはそれを見つけられません。それを別のコンテナにラップする必要があります。

html = "<div class='dvservicestitle'>Our Services</div><div class='dvservicescontent'><ul></ul></div>"; 
$(html).find(".dvservicestitle") 
>> [] 

$(html).hasClass("dvservicestitle") 
>> true 

html = "<div><div class='dvservicestitle'>Our Services</div><div class='dvservicescontent'><ul></ul></div></div>" 

$(html).find(".dvservicestitle") 
>> [<div class=​"dvservicestitle">​Our Services​</div>​] 
+0

ありがとうございます。それは私に困難を与えていた周りの部門でした。 –

-2
var title = $(html).find(".dvservicestitle").html(); 
var elements = $(html).find('.dvservicescontent ul').children(); 
+1

言葉はまったくありませんか?書式はありませんか?急いで? –

+0

LOL私はEnterキーをブラシして編集しました。 60秒以内に二人が厳しいと決心する。 – Tom

+0

"入力"キーは、テキストボックス内から回答を提出しません。改行を生成します。あなたの答えはまだ説明や文脈を含んでいません。ちょうど2行のコードをダンプします。学習には完全に役立たない。 –

0

あなたが使用することができます:find()方法は、現在のノードに子ノードを見つけるため

var title = $(".dvservicestitle").text(); 
var elements = $(".dvservicescontent li").text(); 
0

.findあなたが持っていない子孫を検索します。検索するdivはトップレベルに存在するため、jQueryオブジェクトの要素の1つです。

使用.filter正しい要素フィルタリングする:

$(html).filter(".dvservicestile").text(); 
関連する問題