我想突出显示一个人(班级)的所有参赛作品,我在这里缺少什么?

时间:2017-03-04 05:47:52

标签: javascript jquery html

我有一个生成器,可以从人们那里生成随机条目。 我的目标是鼠标悬停一个条目并突出显示该用户的所有其他条目。每个条目都分配了两个类,一个是用户名。

这是我下面的代码。

$(document).ready(function(){        

  var $body = $('div.center');
  $body.html('<header><p id="headertext">Twittler</p></header>');

  var index = streams.home.length - 1;
  while(index >= 0){
    var tweet = streams.home[index];
    var $tweet = $('<div class = "tweets"></div>');
    $($tweet).addClass(tweet.user);

    //I'm trying to have two classes here, and the ID. Probably don't need the ID.
    $($tweet).attr("id",tweet.user);  
    $tweet.text('@' + tweet.user + ': ' + tweet.message + Date().toString("hh:mm tt"));
    $tweet.appendTo($body);
    index -= 1;
  }

  $("#tweetButton").click('click', function(){
    index = 10;
      while(index >= 0){
      var tweet = streams.home[index];
      var $tweet = $('<div class = "tweets"></div>');
      $($tweet).addClass(tweet.user);

      //I'm trying to have two classes here, and the ID. Probably don't need the ID.
      $($tweet).attr("id",tweet.user);  
      $tweet.text('@' + tweet.user + ': ' + tweet.message + Date().toString("hh:mm tt"));
      $tweet.appendTo($body);
      index -= 1;
    }

  $('.tweets').on('mouseover',function(){
      var idget = $(this).attr('class');

      $('div.center').find(idget).css('background-color','pink');
    });


  });

});  //Ends Script area

底部鼠标悬停输入的推文是我尝试这样做的,但当我鼠标悬停一个条目时没有任何反应。我非常感谢你帮助我在这里失踪,以实现这一目标。

2 个答案:

答案 0 :(得分:0)

所以,如果我正确地读取您的代码(onmouseover位)..您获取class属性的值并将其放在idget变量中。在这种情况下,该值将为"tweets"。接下来,您请求所有"tweets"(作为选择器)作为具有div css center属性的任何class元素的子元素,并设置其背景颜色。

如果一切正确,"tweets"不是有效的选择器,除非您的标记看起来像:<tweets></tweets>。我相信你想要:

$('div.center').find('.' + idget).css('background-color','pink');

答案 1 :(得分:0)

我不知道您的HTML页面,但我最好的客人是:

首先,您不能将id用于tweet.user,因为不能有多个具有相同id的元素,所以我建议使用此代码{ {1}}:

#tweetButton

$("#tweetButton").click('click', function(){ index = 10; while(index >= 0){ var tweet = streams.home[index]; var $tweet = $('<div class = "tweets"></div>'); //$($tweet).addClass(tweet.user); //I'm trying to have two classes here, and the ID. Probably don't need the ID. $($tweet).attr("userid",tweet.user); $tweet.text('@' + tweet.user + ': ' + tweet.message + Date().toString("hh:mm tt")); $tweet.appendTo($body); index -= 1; } 你应该这样做:

mouseover