使用javascript访问ul中的li元素

时间:2013-08-01 01:09:33

标签: javascript jquery html

我正在尝试构建一个程序,一旦页面加载它会自动添加一个大小。 我在ul中有一堆li标签,我想知道如何使用JQuery访问这些li标签。

我通常会使用Document.getByName,但ul没有id。

以下是完整的代码:

<div class="exp-pdp-size-dropdown-container selectBox-options exp-pdp-size-dropdown exp-pdp-dropdown selectBox-dropdown-menu" style="display: block; top: 38px; left: 0px;">
<a class="selectBox exp-pdp-size-dropdown exp-pdp-dropdown selectBox-dropdown selectBox-menuShowing" style="display: inline-block;" title="" tabindex="0"><label class="exp-pdp-dropdown-label platform-font-1">SIZE</label><span class="selectBox-label">&nbsp;</span><span class="selectBox-arrow glyph-replace" data-glyph="j"></span></a>
<ul class="selectBox-options exp-pdp-size-dropdown exp-pdp-dropdown" style=""><li class="exp-pdp-size-not-in-stock selectBox-selected" style=""><a rel=""></a></li><li class="exp-pdp-size-not-in-stock first-in-row upper-left"><a rel="3488377:6">
           6
        </a></li><li class="exp-pdp-size-not-in-stock"><a rel="3488378:6.5">
           6.5
        </a></li><li class="last-in-row upper-right"><a rel="3488379:7">
           7
        </a></li><li class="first-in-row"><a rel="3488380:7.5">
           7.5
        </a></li><li class=""><a rel="3488381:8">
           8
        </a></li><li class="last-in-row"><a rel="3488382:8.5">
           8.5
        </a></li><li class="first-in-row"><a rel="3488383:9">
           9
        </a></li><li class="exp-pdp-size-not-in-stock"><a rel="3488384:9.5">
           9.5
        </a></li><li class="last-in-row"><a rel="3488385:10">
           10
        </a></li><li class="first-in-row"><a rel="3488386:10.5">
           10.5
        </a></li><li class=""><a rel="3488387:11">
           11
        </a></li><li class="last-in-row"><a rel="3488388:11.5">
           11.5
        </a></li><li class="first-in-row"><a rel="3488389:12">
           12
        </a></li><li class="exp-pdp-size-not-in-stock"><a rel="3488390:12.5">
           12.5
        </a></li><li class="last-in-row"><a rel="3488391:13">
           13
        </a></li><li class="first-in-row lower-left"><a rel="3488392:14">
           14
        </a></li><li class="exp-pdp-size-not-in-stock last-in-row lower-right"><a rel="3488393:15">
           15
        </a></li></ul></div>

4 个答案:

答案 0 :(得分:1)

您可以使用.prepend().append()

<强> Working Example

$('ul.selectBox-options').prepend('<li>Hello World</li>');
$('ul.selectBox-options').append('<li>Good bye World</li>');

<小时/> 发布重新标题:

<强> Working Example 2

<li>中有多种方法可以选择<ul>,其中包括以下几种方法:

$("ul.selectBox-options li:contains('8.5')").css('background', 'purple'); 
$('ul.selectBox-options li').first().css('background', 'yellow');
$('ul.selectBox-options li').last().css('background', 'orange');
$('ul.selectBox-options li:nth-child(2)').css('background','red');

答案 1 :(得分:1)

首先,为id标记提供<ul>,如下所示:

<ul id="myList" class="selectBox-options exp-pdp-size-dropdown exp-pdp-dropdown" style="">

然后,使用此jQuery代码循环遍历<li>标记:

<script type="text/javascript">
  $(function() {
    var listItems = $("#myList li");
    listItems.each(function(i, li) {
      var listItem = $(li);
      // some code
    });
  });
</script>

或者,如果您不想向id标记提供<ul>,则可以像这样使用class

var listItems = $('ul.selectBox-options li');

答案 2 :(得分:1)

您可以使用appendChild:

<强> JAVASCRIPT

var ul = document.getElementById("test");
var addLi = document.createElement("li");
ul.appendChild(addLi);
addLi.innerHTML = "Second li";

演示:http://jsfiddle.net/QzYm4/2/

Node.appendChild:https://developer.mozilla.org/en-US/docs/Web/API/Node.appendChild

答案 3 :(得分:0)

我用来获取ul标签的选择器是你的代码中的第一个类值,如果你只想将这个选择器应用于一个ul标签,你必须在ul标签上添加一个id attr然后是这样的// $('#youridID li')。size();

$(document).ready( function(){
    var count_Li = $('.selectBox-options li').size();
    alert(count_Li);

    $('.selectBox-options li').each( function(){
        alert($(this).text());
    });
});