2016-05-04 9 views
1

私はjQueryを私のウェブサイトに使用しています。
クラスがラインルームスフィアで始まる場合、すべての<hr>要素をjQueryを通して選択したいと思います。 <hr>要素には複数のクラスがあります。jquery complex selector from要素とクラスで始まる

これは私のhtmlです:

<hr class="line-rooms-sphere-4 rooms-hidden"/> 
// There are 5 hr like this one 

は、これは私のjqueryのコードです:

$('hr [class^="line-rooms-sphere"]') // => Not working, Why? 
$('[class^="line-rooms-sphere"]') // => This Works well 

彼らは(このケースでは、との希望クラス開始したとき、私はすべての<hr>の要素を取得したいですline-rooms-sphere)。

助けが必要ですか?おかげ

+0

あなたがHTMLを含めることができますか? – guradio

+1

それは、既にそこには 'hr'コードがあります。またはあなたが求めているものは? – jBaumann

答えて

1

あなたの最初の例:あなたはhrと属性セレクタの間にスペースを持っているよう

$('hr [class^="line-rooms-sphere"]') // => Not working, Why? 

は動作しません。 jQueryセレクタエンジンはCSSルールに従うので、スペースは、最初の選択された要素のの中での範囲内で2番目のルールを探す必要があることを意味します。セレクタで

$('hr[class^="line-rooms-sphere"]'); 
+0

まあ、それは何ですか?そう簡単だけど、私はそれを手に入れませんでした。方法はたくさんありましたが、この方法はありませんでした。ありがとう、それは素晴らしい作品です。 – jBaumann

+0

問題ありません、喜んで助けてください –

1

「時間」との間にスペースがあってはならない「[クラス...]」 ":

代わりにあなたが望む属性はそうはスペースが必要とされない、hr自体にあります$( '時間[クラス^ = "行-部屋球"]'」。このスニペットをチェックしてください。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
    <hr class="line-rooms-sphere-4 rooms-hidden"/> 
 

 
    <hr class="line-rooms-sphere-4 rooms-hidden"/> 
 

 
    <hr class="line-rooms-sphere-4 rooms-hidden"/> 
 

 

 
    <script> 
 
    $(document).ready(function(){ 
 
     
 
     $('hr[class^="line-rooms-sphere"]').css("border-width","8px"); 
 
     
 
    }); 
 

 
    </script>