从字符串获取div id值并进行操作

问题描述 投票:0回答:1

我该如何实施?我有一个用逗号分隔的div名称的变量。在AJAX请求之后,我必须隐藏从字符串解析的所有div。那么,如何解析字符串以获取单独的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>
jquery jquery-selectors
1个回答
3
投票

首先,您必须从dragExternal中获取所有ID。通过使用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();
}; 

您使用id selector通过在div名称前加上#来获取每个div。

© www.soinside.com 2019 - 2024. All rights reserved.