Jquery循环更改类搜索

时间:2016-02-17 17:38:32

标签: jquery

有谁知道怎么把它放在循环中?

它基本上是相同jquery代码的7倍,但唯一改变的是行号。

我尝试修复它就像你编写php代码一样,但它只给我错误。

$('.row1').mouseenter(function(e){
    $('.row1').addClass('deepskyblue');
}).mouseleave(function(e){
    $('.row1').removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
});

$('.row2').mouseenter(function(e){
    $('.row2').addClass('deepskyblue');
}).mouseleave(function(e){
    $('.row2').removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
    clickedRow = e.currentTarget.className;
});

$('.row3').mouseenter(function(e){
    $('.row3').addClass('deepskyblue');
}).mouseleave(function(e){
    $('.row3').removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
    clickedRow = e.currentTarget.className;
});

$('.row4').mouseenter(function(e){
    $('.row4').addClass('deepskyblue');
}).mouseleave(function(e){
    $('.row4').removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
    clickedRow = e.currentTarget.className;
});

$('.row5').mouseenter(function(e){
    $('.row5').addClass('deepskyblue');
}).mouseleave(function(e){
    e.preventDefault();
    $('.row5').removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
    clickedRow = e.currentTarget.className;
});

$('.row6').mouseenter(function(e){
    $('.row6').addClass('deepskyblue');
}).mouseleave(function(e){
    $('.row6').removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
    clickedRow = e.currentTarget.className;
});

$('.row7').mouseenter(function(e){
    $('.row7').addClass('deepskyblue');
}).mouseleave(function(e){
    $('.row7').removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
    clickedRow = e.currentTarget.className;
});

3 个答案:

答案 0 :(得分:1)

您可以使用for循环

m

答案 1 :(得分:1)

你可以use multiple selectors.

Here's a fiddle

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PPF_Converter_2._0
{
    class vars
    {
        public static List<String> fullFileName;
        public static string filepath;
        public static List<String> textdata;
        public static string sLine = "";
        public static string data;
        public static string[] files;


    }
}
$('.row1,.row2,.row3,.row4,.row5,.row6,.row7').mouseenter(function(e){
    $(this).addClass('deepskyblue');
}).mouseleave(function(e){
    $(this).removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
    clickedRow = e.currentTarget.className;
});
div
{
  padding: 5px;
  background-color:red;
  width:100px;
  height: 20px;
}

.deepskyblue
{
  background-color:blue;
}

答案 2 :(得分:0)

如果您有权访问HTML页面,则为需要相同行为的每个项目添加相同的类。即class="row-highlight"然后您可以使用$('.row-highlight')在一次调用中获取所有DOM元素

请将所有row*课程替换为row-highlight,然后执行以下操作

$('.row-highlight').mouseenter(function(e){
    $('.row-highlight').addClass('deepskyblue');
}).mouseleave(function(e){
    $('.row-highlight').removeClass('deepskyblue');
}).on('click',function(e){
    e.preventDefault();
});