0

いくつかの要素を表示/非表示にするjQuery関数を作成したいと思います(現在はそうです<li>)。

だから、私はこのコードを持っています:

.sub {
    display: none;
}

 ....

$(function show_sub(id) {
    $('#'+id).show('fast');
});

 .....

<a href="" onmouseover="show_sub('id1')" onclick="return false;"> Here is it </a> 
<li id="id1" class="sub"> .... </li>

インターネットでは、要素のIDをハードコーディングする必要がある関数しか見つかりませんでした。

jQuery関数が正しくないことはわかっています。

私を助けてください!

4

4 に答える 4

4

そのようにしてコードを少しきれいにすることができます

HTML

<a href="#"> Here is it </a> 
<li class="sub"> .... </li>

Javascript

$(function() {
    $('a[href="#"]')
       .on('hover', function() {
           $(this).next('li').show('fast'); // or toggle();
       })
       .on('click', function(ev) {
           ev.preventDefault()
       })
});

そうすることで、無駄なマークアップ、冗長な情報、インライン ハンドラーを避けることができます。

フィドルの例: http://jsfiddle.net/GYye8/

于 2012-09-04T14:57:17.897 に答える
1

表示/非表示にする要素を取得する必要があります。ID で取得することは 1 つの方法ですが、他にも多くの方法があります。

jquery selectorsを見てください。

たとえば、次の方法で「サブ」クラスの要素を表示できます。

$(".sub").show();
于 2012-09-04T14:55:54.633 に答える
0

$("li.sub").show()すべてliwith classを表示しsubます。

それはあなたが求めているものですか?

于 2012-09-04T14:53:02.423 に答える
0

以下のコードを試すことができます

html

<a href="#" class="li-toggler" data-toggle="id1">li toggler</a>   
<li id="id1">sometext</li>​

js

$("a.li-toggler").click(function() {
   $("#"+$(this).attr("data-toggle")).toggleClass("sub");
});

</p>

于 2012-09-04T15:05:25.570 に答える