JQuery:如何根据其他元素和由this关键字表示的元素的关系来选择它们?
我有一些标题和一个div,它们包装了与每个标题相关的内容。当页面加载时,我在每个标题中添加一个plus图像。我还可以隐藏div及其内容。当用户单击标题时,我希望(1)将加号图像更改为减号图像,(2)显示div及其内容JQuery:如何根据其他元素和由this关键字表示的元素的关系来选择它们?,jquery,Jquery,我有一些标题和一个div,它们包装了与每个标题相关的内容。当页面加载时,我在每个标题中添加一个plus图像。我还可以隐藏div及其内容。当用户单击标题时,我希望(1)将加号图像更改为减号图像,(2)显示div及其内容 $(function () { $("h6.blue").append(" <img src='../../Content/images/Effects/plus.gif' />"); $("h6.blue+div").hide(); //
$(function () {
$("h6.blue").append(" <img src='../../Content/images/Effects/plus.gif' />");
$("h6.blue+div").hide();
//
$("h6.blue").click(function (event) {
if (this == event.target) {
//Add code here...
}
});
});
事实上,我想选择div,它是this中包含的h6.blue的直接兄弟
编辑
下面是Html代码
<h6 class = "blue">My fisrt Title</h6>
<div>
Content here...
</div>
<h6 class = "">My second Title</h6>
<div>
Content here...
</div>
And so on...
我的第一个标题
内容在这里。。。
我的第二个头衔
内容在这里。。。
等等
谢谢你的帮助你试过了吗
$(this).next("div")
你试过
$(this).next("div")
根据您正试图选择的内容,使用同级遍历函数之一,例如:
对我有用 根据您正试图选择的内容,使用同级遍历函数之一,例如:
对我有用 同时显示示例HTML,请=)@Robert爵士:查看上面的HTML代码取出
if(this==event.target)
条件。同时显示示例HTML,请=)@Robert爵士:查看上面的HTML代码取出if(this==event.target)
条件。我已完成此操作:$(this)。下一步(“div”).Show(),但是不起作用。@Richard:你必须提供更多的细节,而不仅仅是“不起作用”。你试过使用吗?是.show()
-ing错误的元素吗?请看问题。前两行代码工作正常,即当页面加载时,相应的元素被隐藏。但当我单击标题时,div内的内容不会显示。我同意Matt Ball上面的评论——您是否已取消对event.target的检查?我已完成此操作:$(this).next(“div”).show(),但不起作用。@Richard:您必须提供更多的详细信息,而不仅仅是“不起作用”。您是否尝试过使用?是.show()
-ing错误的元素吗?请看问题。前两行代码工作正常,即当页面加载时,相应的元素被隐藏。但当我单击标题时,div中的内容不会显示。我同意Matt Ball上面的评论——您是否已取消对event.target的检查?我正在尝试选择this的下一个元素(在本例中为h6.blue)。下一个元素是div。首先,我隐藏它,然后在用户单击元素后显示它。@Richard:查看我的编辑。这对我来说很好@马特:我明白它为什么不起作用了。事实上,我是在点击加号图像,而不是点击文本。当我点击文本时,它就会工作。但是,为什么它适用于文本而不是图像,而图像在???@Richard:点击图像仍然适用于我。你在用什么浏览器?真奇怪。因为我刚刚复制并粘贴了您的代码(与我的代码没有太大的不同),但我仍然无法通过单击图像获得效果。我正在尝试选择this的下一个元素(在本例中为h6.blue)。下一个元素是div。首先,我隐藏它,然后在用户单击元素后显示它。@Richard:查看我的编辑。这对我来说很好@马特:我明白它为什么不起作用了。事实上,我是在点击加号图像,而不是点击文本。当我点击文本时,它就会工作。但是,为什么它适用于文本而不是图像,而图像在???@Richard:点击图像仍然适用于我。你在用什么浏览器?真奇怪。因为我刚刚复制并粘贴了你的代码(这与我的代码没有什么不同),但我仍然无法通过单击图像获得效果。
$(this).next('div');