Получение значений div id из строки и манипулирование ею - PullRequest
0 голосов
/ 15 декабря 2010

Может кто-нибудь поделиться какой-либо идеей о том, как реализовать это. У меня есть переменная с разделенными запятыми именами div. После AJAX-запроса мне нужно скрыть все элементы, проанализированные в строке. Итак, как мне разобрать строку, чтобы получить индивидуальное имя div и скрыть его ??

Заранее спасибо

JQuery код

var dragExternal = 'div1a,div1b,div2a,div2b';

    $.ajax({
    type: 'POST',
    url: "index.html",
    data: dragExternal,
    processData: false,
    success: function(data) {
    alert("Success");
        //Start of code to hide all the div's parsed from the string
         $('#div1a').slideUp(90);
    },
    error: function(data) {
    alert("Cannot Reach Server");
    }
    });

HTML-код

<div id="div1a">Item 1</div>
<div id="div1b">Item 2</div>
<div id="div2a">Item 3</div>
<div id="div2b">Item 4</div>
<div id="div3a">Item 5</div>
<div id="div3b">Item 6</div>

1 Ответ

3 голосов
/ 15 декабря 2010

Во-первых, вам нужно получить все идентификаторы из dragExternal. Сделайте это с помощью string.split(',').

Затем вы можете использовать метод jQuery.each , чтобы просмотреть каждый из элементов.

var dragExternal = 'div1a,div1b,div2a,div2b';

$.each(dragExternal.split(','), function(i,item){
   $("#" + item).hide();
}); 

Пример: http://jsfiddle.net/jonathon/UMCrC/

Хотя вам даже не нужен $ .each (хотя и полезно знать об использовании) - поскольку все они просто строки:

var dragExternal = 'div1a,div1b,div2a,div2b',
    items = dragExternal.split(',')

for(var i=0;i<items.length;i++){
   $("#" + item[i]).hide();
}; 

Вы используете селектор идентификатора , чтобы получить каждый div, добавив префикс имени div #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...