如何通过单击</li>从<li>元素获取数据

时间:2013-12-28 06:52:55

标签: javascript jquery cookies

我有一个JQuery,当点击子列表时,它会记录cookie中的所有直接父列表。

示例 -

- Parent1  
  - Child1
     - GrandChild1
     - Grandchild2
     - Grandchild3
  - Child2
     - Grandchild4
     - Grandchild5

点击Grandchild2必须在Cookie中记录Parent1, Child1, Grandchild2。但是我的JQuery代码没有这样做。

JQuery代码 -

$(document).ready(function() {
            $('li').click(function() {
                var obj = $(this).parents('li').add(this);
                obj.css('color', 'red');
                var obj1 = $(this).parents('li').data().add(this);
                var data = "data=";
                document.cookie = data+JSON.stringify(obj1);
            });
        });

'data' cookie存储nullvar obj1 = $(this).parents('li').data().add(this);会引发Uncaught TypeError: Cannot call method 'add' of null。我哪里错了?请帮助。

1 个答案:

答案 0 :(得分:2)

尝试

$(document).ready(function () {
    $('li').click(function (e) {
        e.stopPropagation()
        var x = $(this).parents('li').add(this).map(function () {
            return $.trim(this.firstChild.nodeValue)
        }).get();
        var data = "data=";
        document.cookie = data + x.join();
    });
});

演示:Fiddle