我使用.html()
从<li>
中提取div
的列表,但我需要将li
排除在id
之后{1}} {/}的{1}}
目前我的jQuery是
#donate-link
正如您所看到的那样,我使用var _topbarmenu = $("<div/>").attr({
"id": "topbarmenu",
}).append($('.tabs').html())
.prepend("<li id='shop-link'>"+_pm+"</li>");
提取数据并尝试$('.tabs').html()
,但这似乎不起作用。
编辑额外内容
$('.tabs').html().not('#donate-link')
HTML
var _topbarmenucontent = $('#header .tabs').html();
$(_topbarmenucontent).find('#donate-link').remove();
var _topbarmenu = $("<div/>").attr({
"id": "topbarmenu",
}) .append(_topbarmenucontent)
.prepend("<li id='shop-link'>"+_pm+"</li>");
var _topcontent = $("<div/>").append(_topbarlogo).append(_topbarmenu);
$(_topbar).append(_topcontent);
$("#wrap").prepend(_topbar);
$(window).scroll(function(e){
if ($(window).scrollTop() > 170) {
console.log('>10');
$(_topbar).slideDown();
} else if ($(window).scrollTop() == 0) {
console.log('0');
$(_topbar).slideUp();
} else {
console.log('0');
$(_topbar).slideUp();
}
});
EDIT JSFIDDLE ADDED
答案 0 :(得分:0)
这应该有效:
$('.tabs').not('#donate-link').html()
您的代码不起作用,因为html返回的字符串不是可以链接的jQuery对象。
祝你好运
答案 1 :(得分:0)
我猜你只需要$('。tabs')的内容,而不需要元素本身:
.append($('.tabs').children().not('#donate-link'));
您不一定要附加.html()字符串,您可以使用jQuery对象本身。
答案 2 :(得分:0)
选择器部分获取顶层元素,它的HTML隐式包含子节点。你想要的是克隆HTML(通过包装在另一个$()
中),向下钻取到“坏”元素,删除它,然后调用.end()
返回克隆的.tabs
现在排除了#donate-link
。像.append($($(".tabs").html()).find("#donate-link").remove().end())
答案 3 :(得分:0)
我认为这可行:
.append($('.tabs:not(#donate-link)').html());
但是它只是一个未经测试的狂野猜测
答案 4 :(得分:0)
可能刚刚使用$('#header .tabs').clone().not('#donate-link')