2016-08-11 7 views
1

По какой-то нечетной причине мой сайт дублирует элемент div. Прежде чем попытаться найти причину, по которой он дублируется, я просматриваю способ временного скрытия дублированного div.Удалить Duplicate div class с помощью JQuery

Я пробовал следующий сценарий:

$(document).ready(function() { 
    $('.ms-account-wrapper').eq(1).remove(); 
}); 

HTML:

<div class="ms-account-wrapper">1</div> 
<div class="ms-account-wrapper">2</div> <---want to remove this one 

Любые идеи?

Большое спасибо

Max

+0

Извинения код выше работает ... Я forgotton включить РАСШИРЕНИЯ: <сценарий типа = 'текст/JavaScript' SRC = "HTTP: //code.jquery.com/jquery-1.6.3 .js '> – memaxt

+0

Уберите этот вопрос, если ваши извинения –

ответ

0

селектор JQuery возвращает массив всех элементов с этим классом. Вы можете обратиться ко второму элементу, как вы бы индекс массива:

$(document).ready(function() { 
    var _divs = $('.ms-account-wrapper'); 
    // Ensure there is more than 1 
    if (_divs.length > 1) 
    _divs[1].remove(); 
}); 

Вот codepen.

3

Выберите и remove() все элементы с .ms-account-wrapper класса, кроме первого:

$(".ms-account-wrapper:not(:first)").remove(); 

Это работает независимо от того, сколько .ms-account-wrapper элементов есть

Working example

1

попробовать это:

<script> 
$(document).ready(function() { 
$('.ms-account-wrapper:last').remove(); 
}); 
</script> 
0

Вы можете достичь этого

$(document).ready(function() { 
$('.ms-account-wrapper').not(':first').remove(); 
}); 

Рабочий пример (здесь будут удалены через 3 секунды для демо-целей)

setTimeout(function(){$('.ms-account-wrapper').not(':first').remove();},3000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="ms-account-wrapper">1</div> 
 
<div class="ms-account-wrapper">2</div> 
 
<div class="ms-account-wrapper">3</div> 
 
<div class="ms-account-wrapper">4</div> 
 
<div class="ms-account-wrapper">5</div>

-2
$(document).ready(function() { 
    var _divs = $('.ms-account-wrapper'); 
    // Ensure there is more than 1 
    if (_divs.length > 1){ 
     for(var i=1;i<_divs.length;i++) 
      _divs[i].remove(); 
    } 
}); 

вы можете попробовать это ... его работает, если более 2 также

0

попробуйте следующее: -

<script> 
    $(document).ready(function() { 
     $('.ms-account-wrapper').first().nextAll().remove(); 
    }); 
</script> 
Смежные вопросы