Как сделать вложенные циклы через элементы управления, чтобы получить их атрибуты (на стороне клиента)? - PullRequest
1 голос
/ 21 февраля 2012

У меня есть следующий aspx:

<div id="columns" runat="server">
       <ul id="column1" class="column" >
        <!-- /////////////// -->
        </ul>
         <ul id="column2" class="column" runat="server">
            <li id="l91" class="widget color-red" runat="server" style=""> 
                     <div class="widget-head" style="cursor: move;">
                      <div class="edit-box" style="display: none;">
                      <div class="widget-content"> 
            </li>
        </ul>
        <ul id="column3" class="column" runat="server">
        </ul>
        <ul id="column4" class="column" runat="server">

        </ul>
    </div>

Как с помощью java-скрипта я могу пройти через div id="columns", чтобы получить все ul, за исключением ul id="column1", а затем перебрать все ul чтобы получить следующие атрибуты каждого li:

идентификатор, класс, идентификатор ul этого li

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

Ответы [ 2 ]

3 голосов
/ 21 февраля 2012

Вам нужно использовать метод not(), чтобы исключить элемент (ы) из вашего селектора, попробуйте это:

$("#columns ul").not("#column1").each(function() {
    // do what you need with each ul here
    var ulId = $(this).attr("id");
    var ulClass = $(this).attr("class");

    $("li", $(this)).each(function() {
        // do what you need with each child li here
        var liId = $(this).attr("id");
        var liClass = $(this).attr("class");
    });
});
1 голос
/ 21 февраля 2012
<script type="text/javascript">
 function looping(){
  var topDiv = document.getElementById("columns");
  var uls = topDiv.getElementsByTagName("ul");
  for(ul in uls){
   if(uls[ul].id == "column1")continue;
   var lis = uls[ul].getElementsByTagName("li");
   for(li in lis){
    alert("Class: " + lis[li].className + " Id: " + lis[li].id);
   }
  }
 }
</script>
...