一个项目,要求点击第一排的dd@name 获取第二排与之name相同的所有dd  其余的dd 隐藏,不知道什么地方不对,各位高手看看 指点一下<div id="filter">
<dl id="class1"><dt>选项1</dt>
                <dd name="aa">选项</dd><dd name ="bb">选项</dd><dd name ="cc">选项</dd></dl>
<dl id="class2"><dt>选项2</dt>
                <dd name="aa">选项2</dd><dd name ="aa">选项22</dd><dd name ="aa">选项222</dd>
                <dd name ="bb">选项2</dd><dd name ="bb">选项22</dd><dd name ="bb">选项222</dd>
                <dd name="cc">选项2</dd><dd name ="cc">选项22</dd><dd name ="cc">选项222</dd>
</dl></div>JS:$(document).ready(function () {
      $("dl#class1 dd").click(function(){           $("dl#class2 dd").hide()
               .find("dd[name*='this.name']").show();
       });怀疑是 this.name 赋值的问题  但是 alert(this.name) 可以得到值,迷惑中......  高手不吝指教!!!

解决方案 »

  1.   

    楼主试试var dl2 = $("#class2");
    $("#class1").click(function(e){
    var name = $(e.target).attr("name");
    dl2.find("dd[name!=" + name + "]").hide().end().find("dd[name=" + name + "]").show();
    })
      

  2.   

    试了一下 楼上的如果是静态数据是对的 引入数据库数据后无效blueidea  那边有人回答的是正确的 贴出来 大家看一下$(function() {
    $("#class1").delegate("dd", "click", function() {
    $("#class2 dd[name="+$(this).attr("name")+"]").show().siblings("dd[name!="+$(this).attr("name")+"]").hide();
    });
    });
      

  3.   

    1楼绕的,看老衲的
    $('#class1 dd').click(function(){
    $('#class2 dd').hide().filter('[name='+$(this).attr('name')+']').show()
    })
      

  4.   

    “老衲”同志的是对的  符合我的简洁的要求  看来我的分析还是对的  this.name的赋值问题1楼的也是对的,是我的一个id写错了,窘~~十分感谢大家的帮助