Javascript 如何使代码动态化

Javascript 如何使代码动态化,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我为整个div设置了.wine list文本面板类,为text设置了.wine list文本。我对第一个li应用了jquery,但我想对所有li重复相同的jquery效果,而不是用不同的类名为不同的li编写相同的代码。我想动态代码,可以适用于所有的李 $(文档).ready(函数(){ $('.wine list').mouseover(函数(){ $('.wine list text').hide(); $('.wine list文本面板').css({ “背景”:“fff” }); });

我为整个div设置了.wine list文本面板类,为text设置了.wine list文本。我对第一个li应用了jquery,但我想对所有li重复相同的jquery效果,而不是用不同的类名为不同的li编写相同的代码。我想动态代码,可以适用于所有的李

$(文档).ready(函数(){
$('.wine list').mouseover(函数(){
$('.wine list text').hide();
$('.wine list文本面板').css({
“背景”:“fff”
});
});
$('.wine list').mouseout(函数(){
$('.wine list text').show();
$('.wine list文本面板').css({
“背景”:“000”
});
});
});

  • 游猎 雅各布·卡明斯 夏敦埃酒
  • 游戏中心 雅各布·卡明斯 夏敦埃酒
  • 音乐 雅各布·卡明斯
  • 设置 雅各布·卡明斯
  • 摄像机 雅各布·卡明斯
  • 电话 雅各布·卡明斯

如果您想对figure的所有div子项(即li的子项)应用某种效果(我猜是这样的,因为您的示例中的wine list就是这样),您可以执行以下操作:

$('li > figure > div').mouseover( callbackWithHoverCode );
如果这些li元素是“f.i.a.”示例列表“ul”的子元素,则可以使用以下对象将其作为目标:

$('.example-list li > figure > div').mouseover( callbackWithHoverCode );

然而,不清楚你是想这么做还是你的问题更复杂。在您的问题中,您谈到了“具有不同类名的li”,但在您的代码中,li标记没有类,而您使用jQuery所针对的类是图中div的类。如果这个答案对您没有帮助,可能您需要更新您的问题并使其更清楚

如果您想对figure的所有div子项应用一些效果,这些子项都是li的子项(我猜是这样的,因为您示例中的wine list就是这样),您可以执行以下操作:

$('li > figure > div').mouseover( callbackWithHoverCode );
如果这些li元素是“f.i.a.”示例列表“ul”的子元素,则可以使用以下对象将其作为目标:

$('.example-list li > figure > div').mouseover( callbackWithHoverCode );
然而,不清楚你是想这么做还是你的问题更复杂。在您的问题中,您谈到了“具有不同类名的li”,但在您的代码中,li标记没有类,而您使用jQuery所针对的类是图中div的类。如果这个答案对您没有帮助,可能您需要更新您的问题并使其更清楚

试试这个:

$(document).ready(function() {
   $('.wine-list').mouseover(function() {
      $(this).hide();
   }); 
});
对于其他元素也一样

试试这个:

$(document).ready(function() {
   $('.wine-list').mouseover(function() {
      $(this).hide();
   }); 
});
对于其他元素也一样

试试这个:

您必须为泛型项提供一些公共类。像

JS代码:

$(document).ready(function() {
  var $listItem = $('.list-item');
  var $listItemText;
  var $listItemTextPanel;
  var $this;


  $listItem.mouseover(function() {
    $this = $(this);
    $listItemText = $this.find('.list-item-text');
    $listItemTextPanel = $this.find('.list-item-text-panel');
    $listItemText.hide();

    $listItemTextPanel.css({
      "background": "#fff"
    });
  });

  $listItem.mouseout(function() {
    $this = $(this);
    $listItemText = $this.find('.list-item-text');
    $listItemTextPanel = $this.find('.list-item-text-panel');

    $listItemText.show();
    $listItemTextPanel.css({
      "background": "#000"
    });
  });
});
参考:

您还可以尝试以下代码:

$(document).ready(function() {
  var $listItem = $('.list-item');
  var $listItemText;
  var $listItemTextPanel;
  var $this;

  $listItem.hover(function() {
    $this = $(this);
    $listItemText = $this.find('.list-item-text');
    $listItemTextPanel = $this.find('.list-item-text-panel');
    $listItemText.hide();

    $listItemTextPanel.css({
      "background": "#fff"
    });
  }, function() {
    $this = $(this);
    $listItemText = $this.find('.list-item-text');
    $listItemTextPanel = $this.find('.list-item-text-panel');

    $listItemText.show();
    $listItemTextPanel.css({
      "background": "#000"
    });
  })
});
试试这个:

您必须为泛型项提供一些公共类。像

JS代码:

$(document).ready(function() {
  var $listItem = $('.list-item');
  var $listItemText;
  var $listItemTextPanel;
  var $this;


  $listItem.mouseover(function() {
    $this = $(this);
    $listItemText = $this.find('.list-item-text');
    $listItemTextPanel = $this.find('.list-item-text-panel');
    $listItemText.hide();

    $listItemTextPanel.css({
      "background": "#fff"
    });
  });

  $listItem.mouseout(function() {
    $this = $(this);
    $listItemText = $this.find('.list-item-text');
    $listItemTextPanel = $this.find('.list-item-text-panel');

    $listItemText.show();
    $listItemTextPanel.css({
      "background": "#000"
    });
  });
});
参考:

您还可以尝试以下代码:

$(document).ready(function() {
  var $listItem = $('.list-item');
  var $listItemText;
  var $listItemTextPanel;
  var $this;

  $listItem.hover(function() {
    $this = $(this);
    $listItemText = $this.find('.list-item-text');
    $listItemTextPanel = $this.find('.list-item-text-panel');
    $listItemText.hide();

    $listItemTextPanel.css({
      "background": "#fff"
    });
  }, function() {
    $this = $(this);
    $listItemText = $this.find('.list-item-text');
    $listItemTextPanel = $this.find('.list-item-text-panel');

    $listItemText.show();
    $listItemTextPanel.css({
      "background": "#000"
    });
  })
});

提示:在每个li元素上循环提示:在每个li元素上循环