сопоставление двух классов в Jquery

0
<div>
<ul style="float:left;">
    <li class="font1">sfadsa</li>
    <li class="font2">sfadsa</li>
    <li class="font3">sfadsa</li>
</ul>
</div>

<div>
<ul style="float:right;" >
    <li class="font3">sfadsa</li>
    <li class="font1">sfadsa</li>
    <li class="font2">sfadsa</li>
</ul>
</div>

Я использовал параметр jquery scortable для правильных тегов ul. Поэтому, если класс 1 шрифта совпадает с классом font1 с правой стороны, шрифт тега li должен быть изменен на зеленый в правильном теге li, а другой тег li должен быть красным. Просто, если левые классы совпадают с правильным классом, тогда шрифт должен измениться к зеленому. Может ли кто-нибудь помочь мне сделать это в jquery?

  • 0
    показать код JQuery
  • 2
    Вы собираетесь закрыть эти <li> правильно?
Показать ещё 2 комментария
Теги:

2 ответа

0

Я не уверен, что это то, что вы хотели, но, может быть, вы можете использовать его:

HTML:

<div id="left">
    <ul style="float:left;">
        <li class="font1">sfadsa</li>
        <li class="font2">sfadsa</li>
        <li class="font3">sfadsa</li>
    </ul>
</div>

<div id="right">
    <ul style="float:right;" >
        <li class="font3">sfadsa</li>
        <li class="font1">sfadsa</li>
        <li class="font2">sfadsa</li>
    </ul>
</div>

JQuery:

$('#right ul').sortable({
    stop : check
});

function check(){
    $('#right li').each(function(){
        if($(this).attr('class') == $('#left li:eq(' + $(this).index() + ')').attr('class')){
            $(this).css({'background-color':'#0f0'});
        }else{
            $(this).css({'background-color':'#f00'});
        }
    });
}

check();

Демо - версия:

http://jsbin.com/icepEMa/1

  • 0
    Привет Энди, Привет, Большое спасибо !!! Он отлично работает. Я использовал ваш код, он решает мою точную цель.
  • 0
    @Venkat отлично. Рад, что смог помочь.
0

Как это решение? Это предполагает, что каждый элемент имеет только один класс:

$('ul.left li').each(function(i){
  classMatches = $('ul.right li').eq(i).hasClass($(this).attr('class'));
  if(classMatches){
    $('ul.right li').eq(i).add(this).css({color:"#F00"});
  }
});

Я также дал ваши классы <ul> и применял внешние стили CSS, во-первых, чтобы различать два в jQuery, а во-вторых, чтобы избавиться от ваших встроенных стилей.

DEMO

  • 0
    Привет, спасибо большое !!! Его работы идеально подходят для меня ....

Ещё вопросы

Сообщество Overcoder
Наверх
Меню