Jquery只输出所选的html而不是它的子节点?

时间:2013-11-15 08:24:14

标签: jquery html output children

我的HTML:

<ul id="seasonsDropDown">
  <li>FALL 2013 HAUTE COUTURE
     <ul class="designers">
       <li>Alexander Wang</li>
       <li>BCBG MAX Azria</li>
       <li>Diane con Fursternberg</li>
       <li>Diane Von De</li>
     </ul>
  </li>
  <li>SPRING 2013 HAUTE COUTURE</li>
  <li>SPRING 2033 HAUTE COUTURE</li>
  <li>SPRING 2093 COUTURE</li>

如果我只想选择/输出单词,我应该使用什么jQuery方法:

"FALL 2013 HAUTE COUTURE"

不是ul列表?

现在如果我使用:

console.log($("#seasonsDropDown").html());

它会给我一切,包括html。

5 个答案:

答案 0 :(得分:1)

尝试这个我虽然没有检查过..

$(function() {
    $('#seasonsDropDown').each(function(i, items_list){
        var myText = "";

        $(items_list).find('li').each(function(j, li){
            alert(li.text());
        })

        alert(myText);

    });
};

答案 1 :(得分:1)

$("#seasonsDropDown li").html().substr(0,$("#seasonsDropDown li").html().indexOf('<') );

答案 2 :(得分:1)

console.log(
  $('#seasonsDropDown li:first').contents()[0]
);

您可能需要修剪返回的字符串。

答案 3 :(得分:1)

您的问题与此question

类似

JQuery方法如下

$("li:eq(0)").clone().children().remove().end().text()

答案 4 :(得分:0)

jQuery需要一个选择器才能知道你要选择哪个项目。你最好的办法是添加一个这样的选择器:

$("#seasonsDropDown li").click(function(){
   $(this).addClass("selected");
});

之后您可以选择以下内容:

console.log($("#seasonsDropDown .active").html());

如果您只需要一个onClick事件,可以执行以下操作:

$("#seasonsDropDown li").click(function(){
   console.log($(this).html());
});