正如标题所说,我正试图通过提供孩子的班级来选择父div。
然后我需要获取此父级的全部内容和
然后我需要通过insertAfter或appendTo将它输出到另一个div。我更愿意将它附加到一个空的div,它将有一个类或ID。
到目前为止,我有点混乱:
$('a[class="on maincatlink"]') // using this to select the parent
.parent() // parent is class="div2" but we cannot use "div2" as the selector
.clone($().find($ ("label").attr('for', +'helloworld')).find($("input").attr('id', +'helloworld')))
.insertAfter(".leftBoxContainer");
});
这里存在一些问题,首先是将ID和FOR更改应用于克隆内容,而且还应用于正在克隆的原始内容。其次,我不理解如何将“helloworld”附加到ID或FOR属性的开头。这里的结果是最终提供id =“NaN” - 那里的代码是错误的,如果有人可以提供一些指示,谢谢。
为了更简单的解释而没有轻拍我丑陋的代码:
我需要选择$的父('a [class =“on maincatlink”]') - 将静态文本追加到所有输入ID的开头,将静态文本追加到所有标签FOR的开头并输出结果在页面上的其他地方的div。
编辑: //关于HTML的更多信息
<div class="div2"><input checked="" class="catcheckbox" id="checkboxid1" type="checkbox"><label class="maincatlabel" for="checkboxid1"></label><a href="http://127.0.0.1/zen11/index.php?main_page=index&cPath=1" class="on maincatlink">MOBILE PHONES</a>
<div class="div1">
<div class="div2"><input checked="" class="catcheckbox" id="checkboxid2" type="checkbox"><label class="subcatlabel" for="checkboxid2"></label><a href="javascript:void(0)" style="cursor:default" class="on subcatlink">APPLE</a></div>
<div class="div2"><input class="catcheckbox" id="checkboxid6" type="checkbox"><label class="subcatlabel" for="checkboxid6"></label><a href="http://127.0.0.1/zen11/index.php?main_page=index&cPath=1_6" class="off subcatlink">SAMSUNG</a></div>
</div>
</div>
与上面的html一样,当一个类别或子类别处于活动状态时,它使用类“on maincatlink”和“on subcatlink”。如果类别未激活(由用户浏览),则应用“off maincatlink / subcatlink”类。
“on”类在当前所选子类别所属的所有先前类别中产生共鸣。我想选择所有这些“on”类别并将它们列在另一个div中。我想保留复选框和标签,以保留它创建的树状菜单。
答案 0 :(得分:1)
<强> JS:强>
$(function () {
var cloned = $('.on.maincatlabel')
.parent()
.clone();
cloned.find('label')
.each(function (index, element) {
$(element).attr({
'id': 'prefix-' + $(element).attr('id'),
'for': 'prefix-' + $(element).attr('for')
});
});
cloned.appendTo('body');
$(document).on('click', 'label.on', function (e) {
window.location.href = $(this).attr('data-href');
});
});
使用HTML类似:
<div class="div2">
<label class="maincatlabel on" for="checkboxid1" data-href="http://127.0.0.1/zen11/index.php?main_page=index&cPath=1">
<input checked="" class="catcheckbox" id="checkboxid1" type="checkbox" />MOBILE PHONES</label>
<div class="div1">
<div class="div2">
<label class="subcatlabel on" for="checkboxid2">
<input checked="" class="catcheckbox" id="checkboxid2" type="checkbox" />APPLE</label>
</div>
<div class="div2">
<label class="off subcatlabel" for="checkboxid6" data-href="http://127.0.0.1/zen11/index.php?main_page=index&cPath=1_6">
<input class="catcheckbox" id="checkboxid6" type="checkbox" />SAMSUNG</label>
</div>
</div>
</div>
答案 1 :(得分:0)
这是最适合我的代码
jQuery(document).ready (function () {
var cloned = $('a[class="on maincatlink"]').parent().clone();
cloned.find('label')
.each(function (index, element) {
$(element).attr({
'for': 'prefix-' + $(element).attr('for')
});
});
cloned.find('input')
.each(function (index, element) {
$(element).attr({
'id': 'prefix-' + $(element).attr('id')
});
});
cloned.appendTo('#navBreadCrumb');
});
非常感谢@Deryck的指导!
编辑:需要&#34;索引,&#34;在适当的地方。