jQuery - 简化代码

时间:2013-11-27 16:31:07

标签: javascript jquery html

我希望能够简化呈现此操作所需的jQuery编码。我希望有一组4个链接,其中一个链接是基于它所在的适当页面隐藏的。因此,如果我在第1页,我会隐藏链接1,但仍然可以看到链接2,3和4。

http://jsfiddle.net/chapster82/k43a8/

感谢您的帮助。

HTML

<div class="links" id="div1">A</div>
<div class="links" id="div2">B</div>
<div class="links" id="div3">C</div>
<div class="links" id="div4">D</div>

<div class="linkcontroller" divId="div1"></div>

CSS

.links {
  height: 50px;
  width: 50px;
  float: left;
}
.linkcontroller {
  height: 100px;
  width: 100px;
}

的jQuery

if($('.linkcontroller').length){
  var divId= $(this).attr("divId");
$("#" + divId).hide();
}

3 个答案:

答案 0 :(得分:1)

撰写$('.linkcontroller')代替$(this)

尝试:

if($('.linkcontroller').length> 0){
    var divId= $('.linkcontroller').attr("divId");  
    $("#" + divId).hide();
}

Updated fiddle here.

答案 1 :(得分:1)

if($('.linkcontroller').length) $("#" + $(".linkcontroller").attr("divId")).hide();

简化为1行!

答案 2 :(得分:1)

$('#'+$('.linkcontroller').attr('divId')).hide()
写在一行中的

可能会让一些人质疑它是否“简化”。

不需要起始if - 如果linkcontroller不存在,你只会隐藏任何内容。