2013-09-06 3 views
0

Я работаю над проектом codeigniter, где мне нужно получить идентификатор div и удалить атрибут класса этого div. Фактически атрибут id этого div должен быть найден в строке идентификаторов. Как я могу получить DIV с идентификатором, который существует в IdS строке и удалить атрибут класса из этого DIV, предположим, что у меня есть идентификатор строки как:fine div с id, который существует в строках id

var ids = 1,2,3,4,5,6 

<div id="1" class="someclass"></div> 
<div id="2" class="someclass"></div> 
<div id="3" class="someclass"></div> 
<div id="4" class="someclass"></div> 
<div id="5" class="someclass"></div> 
<div id="6" class="someclass"></div> 

кто поможет мне, пожалуйста ??

+2

, что это не является строкой, вы имеете в виду 'вар Идентификаторы = "1,2,3,4,5,6"' –

ответ

0

Попробуйте это:

var ids = "1,2,3,4,5,6"; 
var idsArray = ids.split(","); 
jQuery.each(idsArray, function() { 
     $("#" + this).removeClass("someclass"); 
    }); 
+0

Благодаря брату, он хорошо работает в настоящее время – user2702406

+0

@ user2702406 - Рад, чтобы помочь вам. :) – Bibhu

0
<script> 
    var arr = [ "one", "two", "three", "four", "five" ]; 

    jQuery.each(arr, function() { 
     $("#" + this).removeClass("yourclassname"); 
    }); 
</script> 
1

Вы можете манипулировать строку, чтобы сделать его действительным селектор для нескольких идентификаторов путем добавления # к каждому значению. Затем вы выбираете эти элементы и удалить класс:

var ids = "1,2,3,4,5,6"; 

ids = '#' + ids.replace(/,/g, ',#'); 

$(ids).removeClass('someclass'); 

Demo

Try before buy

+0

что, если у него есть 30 или 40 идентификаторов ... что произойдет, если он обновит его два раза в день, нужно ли нам также обновить массив ... –

+1

@BharatSoni Я не уверен, что вы имеете в виду с массив. В этом вопросе нет никакого массива. OPs говорит, что у него есть строка с идентификаторами, и он хочет удалить класс из всех элементов, у которых есть этот идентификатор. Именно так это работает. Если эта строка содержит сорок идов или сто, это не имеет значения. – insertusernamehere

+0

by array Я имел в виду ваш строковый массив ('ids') ... Я хотел спросить, есть ли у этого парня много идентификаторов, так что мы должны обновлять' string ids' слишком –

0

прежде всего

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

если вы все еще хотите сделать, что вы можете сделать :

  1. , если вы хотите, чтобы удалить все классы, то:

    $('#yourID').on('click',function(){ $(this).attr('class',''); });

  2. , если вы хотите удалить particular-class то:

    $('#yourID').on('click',function(){ $(this).removeClass('particular-class'); });

идентификатор вы не хотите использовать событие click, просто используйте его напрямую ...

+0

Ваше первое утверждение верно для HTML4, но не для HTML5: «* Значение должно быть уникальным среди всех идентификаторов в домашнем поддереве элемента ** и должно содержать хотя бы один символ. значение не должно содержать пробелов. *** ". Из w3.org [3.2.3.1 Атрибут id] (http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id-attribute) – insertusernamehere

+0

@insertusernamehere здесь нет указанная версия используется :) –

+0

Верно. Это не было также оскорбительным образом, скорее в качестве примечания. – insertusernamehere

0

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

 <script> 
     var ids = "1,2,3,4,5,6"; 
     var arr = ids.split(','); 

     jQuery.each(arr, function() { 
      $("#" + this).removeClass("yourclassname"); 
     }); 
    </script> 
Смежные вопросы