<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?
Я не уверен, что это то, что вы хотели, но, может быть, вы можете использовать его:
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();
Демо - версия:
Как это решение? Это предполагает, что каждый элемент имеет только один класс:
$('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, а во-вторых, чтобы избавиться от ваших встроенных стилей.
<li>
правильно?