Jquery - Нахождение идентификатора элемента в DIV - PullRequest
1 голос
/ 12 октября 2009

Я пытаюсь получить идентификатор элемента <div>, чтобы я мог использовать его для анимации непрозрачности при наведении курсора на элемент div с классом 'module'.

Я установил непрозрачность всех элементов <div> с классом moduleInfo на 0. Итак, в основном, что я пытаюсь сделать, это когда я наводю указатель мыши на модуль с идентификатором modulePic_1, я хочу соответствующий <div> элемент, который в этом случае является moduleInfo_1, чтобы появиться.

надеюсь, у меня есть смысл для всех вас ...

<div class="module" id="modulePic_1">
    <div class="moduleTitle">
        <div style="float:left;">d</div>
        <div class="moduleInfo" id="moduleInfo_1"></div>

    </div
    <div class="module1">
</div>

<div class="module" id="modulePic_2">
    <div class="moduleTitle">
        <div style="float:left;">d</div>
        <div class="moduleInfo" id="moduleInfo_2"></div>

    </div>
    <div class="module2">
</div>

Ответы [ 2 ]

1 голос
/ 12 октября 2009

Если у вас есть прямое соответствие между значениями _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;
    });
});
0 голосов
/ 12 октября 2009

РЕДАКТИРОВАТЬ: Подождите, мы все думаем об этом. Вам вообще не нужны селекторы 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();      
  }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...