我有一个简单的UL,所有LI都有class =“event”。
以下jQuery未按预期工作。
$('#calendar-feed li.event').each(function() {
$(this).find('h3').appendTo('h4');
});
我想把每个LI中唯一的h3加到那个LI中唯一的h4。
目前它正在接收所有H3并将它们克隆到每个H4中。
我的语法是错误的还是我错误的想法?
答案 0 :(得分:3)
执行此操作,因为appendTo
是一个新的选择器,可以包含页面中的任何内容。所以你在页面中选择了所有H4并将它们添加到LI h3。
$('#calendar-feed li.event').each(function() {
$(this).find('h3').appendTo($(this).find('h4'));
});
答案 1 :(得分:2)
我认为你需要在循环中获得正确的h4
,如下所示:
$('#calendar-feed li.event').each(function() {
var h4 = $(this).find('h4');
$(this).find('h3').appendTo(h4);
});
答案 2 :(得分:0)
添加<h3>
INTO <h4>
毫无意义。
我想你想要的是放置<h3>
AFTER <h4>
,交换他们的位置(尽管如果你使用这些标签仍然没有意义,但无论如何)
$('#calendar-feed li.event h3').each(function (i, h3) {
var $h3 = $(h3);
$h3.after($h3.closest('li').find('h4'));
});
或者,如果您希望<h3>
保证为每个<li>
中的最后元素,请执行此操作
$('#calendar-feed li.event h3').each(function (i, h3) {
var $h3 = $(h3);
$h3.appendTo($h3.closest('li'));
});