5

だから私はjqueryがどれほど素晴らしいか、そして基本的な関数がどのように私を理解するように駆り立てることができるかを発見し始めたところです。バックエンドを介して生成された特定の「id」でdivを強調表示しようとしています

    <br/><br/><br/><br/>
<div id="id_1">
    <h2>id_1 - 
        <a class="marker_id_1" href="#top" name="id_1" id="id_1">Top</a>
    </h2>
</div>
<div id="id_1">
    <h2>id_1 - 
        <a class="marker_id_1" href="#top" name="id_1" id="id_1">Bottom</a>
    </h2>
</div>
<div id="id_2">
    <h2>id_2 - 
        <a class="marker_id_2" href="#top" name="id_2" id="id_2">Top</a>
    </h2>
</div>
<div id="id_2">
    <h2>id_2 - 
        <a class="marker_id_2" href="#top" name="id_2" id="id_2">Bottom</a>
    </h2>
</div>​

したがって、「id_1」の上部にカーソルを合わせると、「id_1」の上部と下部の両方が強調表示されます。以下はそれへのリンクですので、理解しやすくなります。

http://jsfiddle.net/4PgC6/66/

ありがとう!!

4

3 に答える 3

6

id異なる要素に同じものを使用してはなりません。

あなたを使っname てできる

$('a').hover(function() {
  var name = this.name;
  $('a[name='+ name +']').css('color', '#f00')
},function() {
  var name = this.name;
  $('a[name='+ name +']').css('color', 'blue')
});

デモ

使用するclass

$('a').hover(function() {
  var className = this.className;
  $('a.' + className).css('color', '#f00')
},function() {
  var className = this.className;
  $('a.' + className).css('color', 'blue')
});

デモ

.on()ホバーに使用する場合は、

$('a').on('hover', function(e) {
    if (e.type == 'mouseenter') {
        var divName = this.name;
        console.log(divName);
        $('div', 'td.' + divName).addClass('match-highlight');
    } else {
        var divName = this.name;
        $('div', 'td.' + divName).removeClass('match-highlight');
    }
});

デモ

于 2012-06-12T13:57:06.243 に答える
0
$('div').mouseenter(function() {
   var hoveredid = $(this).attr('id'); 
    $('[id='+hoveredid+']').each(function() {
        $(this).addClass("highlighted");
    });
}).mouseleave(function() {
   var hoveredid = $(this).attr('id'); 
   $('[id='+hoveredid+']').each(function() {
        $(this).removeClass("highlighted");
    });
});

前述のように、idは一意である必要があります。ただし、「#」ではなく「[id =」を使用してアクセスすることが見つからない場合は、idを属性として表示しているため、すべてのdivにアクセスできます(http://jsfiddle.net/を参照)。 4PgC6 / 68 /

于 2012-06-12T14:06:34.127 に答える
0

まず第一に、あなたはaとdivに同じIDを持つことはできません。IDは一意である必要があります。代わりにそのためのデータを使用してください。そのように:

<a href="#" data-id="id_1"></a>

次に、次のようなスクリプトで読みます。

$('a').hover(function() {
  divID = $(this).data('id');
  $('#'+divId).css('color', '#f00');
},function() {
  divID = $(this).data('id');
  $('#'+divId).css('color', 'blue');
});

http://jsfiddle.net/acrashik/4PgC6/69/

于 2012-06-12T14:01:36.267 に答える