jqueryで、idが地名2の要素にマウスオーバーした際に、idが地名1の要素の枠線の色が変わるようにコードを書いたのですが、この書き方だと要素が沢山あり長くなってしまうので短くしたいです。
HTML
1<div class="container"> 2 <?xml version="1.0" encoding="utf-8"?> 3 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> 4 <svg id="x="0px" y="0px" width="1200px" height="800px" viewBox="40 90 700 400" style="enable-background:new 0 0 800 600;" xml:space="preserve"> 5 <rect id="tokyo1" x="245.551" y="72.796" width="100" height="140"/> 6 <rect id="osaka1" x="296.571" y="152.388" width="100" height="140"/> 7 <rect id="nagoya1" x="253.034" y="240.823" width="100" height="140"/> 8 <rect id="fukuoka1" x="331.265" y="268.034" width="100" height="140"/> 9 <rect id="yokohama1" x="382.285" y="363.272" width="100" height="140"/> 10 </svg> 11 12 <ul> 13 <p>地区一覧</p> 14 <li><a id="tokyo2" href="#">東京</a></li> 15 <li><a id="osaka2" href="#">大阪</a></li> 16 <li><a id="nagoya2" href="#">名古屋</a></li> 17 <li><a id="fukuoka2" href="#">福岡</a></ul> 18 <li><a id="yokohama2" href="#">横浜</a></li> 19 </ul> 20</div>
javascript
1$(function(){ 2 $('#tokyo2') 3 .hover(function(e){ 4 $('#tokyo1').css('stroke','blue'); 5 }, 6 function(e){ 7 $('#tokyo1').css('stroke',''); 8 }); 9 10 $('#osaka2') 11 .hover(function(e){ 12 $('#osaka1').css('stroke','blue'); 13 }, 14 function(e){ 15 $('#osaka1').css('stroke',''); 16 }); 17 18 $('#nagoya2') 19 .hover(function(e){ 20 $('#nagoya1').css('stroke','blue'); 21 }, 22 function(e){ 23 $('#nagoya1').css('stroke',''); 24 }); 25 26 $('#fukuoka2') 27 .hover(function(e){ 28 $('#fukuoka1').css('stroke','blue'); 29 }, 30 function(e){ 31 $('#fukuoka1').css('stroke',''); 32 }); 33 34 $('#yokohama2') 35 .hover(function(e){ 36 $('#yokohama1').css('stroke','blue'); 37 }, 38 function(e){ 39 $('#yokohama1').css('stroke',''); 40 }); 41});
わかる方がおられましたらご教授お願い致します。
回答3件
あなたの回答
tips
プレビュー