Jquery--查找DIV中元素的ID

时间:2009-10-12 14:52:43

标签: jquery html

我试图在这里获取<div>元素的ID,以便我可以使用它来设置当我将鼠标悬停在带有“模块”类的div上时的不透明度。

我已将类'moduleInfo'的所有<div>元素的不透明度设置为0.所以我在这里尝试做的基本上是当我将鼠标悬停在ID为modulePic_1的模块上时,我想要相应的{ {1}}元素,在这种情况下是moduleInfo_1出现。

希望我对你们所有人都有所了解......

<div>

2 个答案:

答案 0 :(得分:1)

如果每个实体的_1值之间存在直接对应关系,则只需对原始modfulePic_1值进行“拆分”,抓取尾随数字,然后通过构造选择器获取相应的moduleInfo:

$('.module').each(function(el){
    var digit = $(el).attr('id').split('_')[1];

    var sibling = $('moduleInfo_' + digit, el);

    $(el).mouseover(function(){ 
        // do something to sibling;
    });

    $(el).mouseout(function(){
        // undo something to sibling;
    });
});

答案 1 :(得分:0)

编辑:等等,我们都在过度思考这个问题。您根本不需要ID选择器:

$('.module').hover(
  function() { $(this).find('.moduleInfo').show() },
  function() { $(this).find('.moduleInfo').hide() }
);



如果以上情况不够,以下是我以前的情况:

function getModNum( className ) {
  return className.split('_')[1];
}

$('.module').hover(
  function() {
    var modNum = getModNum( $(this).attr('id') );
    $('moduleInfo_'+modNum).show();
  },
  function() {
    var modNum = getModNum( $(this).attr('id') );
    $('moduleInfo_'+modNum).hide();      
  }
);