我有一个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
存储null
和var obj1 = $(this).parents('li').data().add(this);
会引发Uncaught TypeError: Cannot call method 'add' of null
。我哪里错了?请帮助。
答案 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