2
<div id="content-container">
<ul>
<li id="link1"><a  href="http://mysite/ClassifiedPrograms/Pages/Training1.aspx">Training1</a></li>
<li id="link2" ><a  href="http://mysite/ClassifiedPrograms/Pages/Training2.aspx">Training2</a></li>

<li id="link3"  ><a href="http://mysite/ClassifiedPrograms/Pages/Training3.aspx">Training3</a></li>
<li id="link4" ><a href="http://mysite/ClassifiedPrograms/Pages/Training4.aspx">Training4</a></li>

</ul>
</div>

リンクがクリックされたときに、そのリンクをクリックすると、親のli idが変更され、link1がクリックされた場合はclickedlink1になります。jqueryでそれを行うにはどうすればよいですか?

4

6 に答える 6

2

IDは(私の意見では)それだけなので、変更するべきではありません。

この場合、jQueryを使用して、クラスでクリックされたものを追跡しaddClass()ますremoveClass()toggleClass()クリックしたらclicked、親li要素にクラスを追加します。

http://api.jquery.com/addClass/

http://api.jquery.com/removeClass/

http://api.jquery.com/toggleClass/

それで:

$(document).ready(function() {
    $("a").click(function(event){
         $(this).parent().toggleClass("clicked");
    });
});

クリックされた状態を追跡するための大まかな例として、$(".clicked")セレクターを実行してこれらの要素を取得できます。

于 2012-06-15T14:55:00.780 に答える
2

jQueryを使用する場合:

$('#content-container a).click(function(e) {
   e.preventDefault();
   $(this).parent().attr('id', 'clicked' + (this).attr('id'));
});

ただし、実際にはIDを変更する必要はなく、クラスを設定することもできます。

$('#content-container a).click(function(e) {
 e.preventDefault();
 $(this).parent().addClass('clicked');
});
于 2012-06-15T14:55:07.427 に答える
1

リンクがクリックされたときにのクラスを変更してliも、新しいページが読み込まれるとすぐにリセットされるため、必ずしもここで役立つとは限りません。

代わりにこれを使用できます:

$("a:visited").parent("li").addClass("is_visited");

liこれにより、リンクにアクセスした場所にクラス「is_visited」が追加されます。

于 2012-06-15T14:56:01.833 に答える
0
​$(document).ready(function(){
    $("#content-container a").click(function(){
          var id = $(this).parent().attr("id");
          $(this).parent().attr("id","clicked" + id);

    });        
});​
于 2012-06-15T14:57:32.637 に答える
0

どういうわけか、その番号をリンクに追加する必要があります。おそらくdata-nr属性です。

それで:

  1. リンクにイベントリスナーを割り当てます

    $('a').click(function(){ });

  2. 番号を抽出する

    var nr = $(this).attr('data-nr');

  3. 親IDを設定する

    $(this).parent().attr('id', 'clickedlink'+nr);

于 2012-06-15T14:55:26.313 に答える
0

これをサイトの先頭または任意のJavascriptファイルに配置します。

$(document).ready(function () {    
$('a').click(function () {
$(this).parent().attr('id', 'clicked' + $(this).parent().attr('id'));
});
});
于 2012-06-15T14:56:24.457 に答える