Jquery 从与目标对象具有相同ID的不同父对象调用元素?
我不确定这个问题是否得到了回答,我试着去寻找,但似乎找不到答案 我最近刚开始学习如何使用HTML/CSS/Javascript 不管怎么说,我正在编写一个类似于教程的在线交易系统页面。我已经从一个微不足道的庞大的代码模板变成了一旦我掌握了它就自己去做 该页面由多层按钮导航、上下内容以及选项卡组成。子菜单元素一旦被单击,就会调用其他中间内容。由于中间内容来自不同的父级,所以我不能对每个子菜单元素使用通用jquery函数 这是我的 HTML:示例按钮-我还有其他类似的按钮-ct按钮、ns按钮、mt按钮Jquery 从与目标对象具有相同ID的不同父对象调用元素?,jquery,Jquery,我不确定这个问题是否得到了回答,我试着去寻找,但似乎找不到答案 我最近刚开始学习如何使用HTML/CSS/Javascript 不管怎么说,我正在编写一个类似于教程的在线交易系统页面。我已经从一个微不足道的庞大的代码模板变成了一旦我掌握了它就自己去做 该页面由多层按钮导航、上下内容以及选项卡组成。子菜单元素一旦被单击,就会调用其他中间内容。由于中间内容来自不同的父级,所以我不能对每个子菜单元素使用通用jquery函数 这是我的 HTML:示例按钮-我还有其他类似的按钮-ct按钮、ns按钮、mt按
<div id="" class="so button">
<ul id="" class="somenu button check">
<li id="sotab"/>
<li/>
<li/>
<li/>
</ul>
</div>
<div class="midcontent">
<div class="quotetab active"></div>
<div class="uppertab">
<span class="sotab tab"><img/></span>
</div>
<div class="midct midct-stockinfo"></div>
</div>
jquery代码就是我在页面顶部的按钮上使用的代码。我曾计划在单击“li”后使用我在“li”中学到的相同代码,但这需要我将所有元素嵌套在一个单亲上,以使其正常工作,因此,我最终为每个链接制作了一个
$(".somenu").find("li:first-child").click(function(){
$(".tab, .quotetab, .midct").removeClass("active");
$(".sotab").css({display: "inline-block"}).addClass("active");
$(".midct-stockinfo").addClass("active");
});
单击li:first子项后,它将从任何活动的midcontent中删除焦点,并在其选项卡上聚焦我单击的内容
对于菜单按钮中的每个li,我都有相同的代码流,我只是将类从.somenu更改为其他(.ctmenu等),并相应地调整目标对象
你对如何最小化我正在使用的代码有什么想法吗
我能够得到一个代码片段,它可以读取id并查找具有相同名称的类,但我似乎无法实现这一点:
$(".button > li").click(function() {
var containerID = this.id;
$("." + containerID).addClass("active");
});
据我所知,我只需要向li的like中添加一个ID,这样他们就可以从代码中调用目标对象
我做错了吗
谢谢。我们可以找到具有所述类的后代的
midcontent
元素,然后将活动类添加到选项卡和midct stockinfo
元素中
$(".button > li").click(function () {
var $target = $('.midcontent:has(.' + this.id + ')');
$(".tab, .quotetab, .midct").removeClass("active");
$target.find(".sotab").css({
display: "inline-block"
}).addClass("active");
$target.find(".midct-stockinfo").addClass("active");
});
是的,ID是唯一的。ID将与我的目标对象的类同名。谢谢,我稍后会尝试。我一直在尝试,但似乎无法让它工作。
$(".button > li").click(function () {
var $target = $('.midcontent:has(.' + this.id + ')');
$(".tab, .quotetab, .midct").removeClass("active");
$target.find(".sotab").css({
display: "inline-block"
}).addClass("active");
$target.find(".midct-stockinfo").addClass("active");
});