<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>
当点击任何链接时,如果点击了link1,则点击该链接应该更改父li id并使其clickedlink1。我如何在jquery中做到这一点?
答案 0 :(得分: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")
选择器来获取这些元素。
答案 1 :(得分: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');
});
答案 2 :(得分:1)
单击链接时更改li
的类不一定有用,因为只要新页面加载就会重置。
你可以改用:
$("a:visited").parent("li").addClass("is_visited");
将添加班级&#34; is_visited&#34;到访问过该链接的任何li
。
答案 3 :(得分:0)
您应该以某种方式将该数字添加到链接,可能是data-nr
属性。
然后:
为链接分配事件监听器
$('a').click(function(){ });
提取数字
var nr = $(this).attr('data-nr');
设置父ID
$(this).parent().attr('id', 'clickedlink'+nr);
答案 4 :(得分:0)
将其放在您网站的头部或任何Javascript文件中:
$(document).ready(function () {
$('a').click(function () {
$(this).parent().attr('id', 'clicked' + $(this).parent().attr('id'));
});
});
答案 5 :(得分:0)
$(document).ready(function(){
$("#content-container a").click(function(){
var id = $(this).parent().attr("id");
$(this).parent().attr("id","clicked" + id);
});
});