Javascript 为每个具有类名的div动态创建按钮,并创建单击时显示/隐藏功能
我正试图想出一个很好的解决方案来轻松添加菜单页面。 每个菜单页都应该是一个带有类“shTab”的div,为了确定它是一个显示/隐藏元素,我还想给每个div一个唯一的名称,这样我就可以创建以该名称作为文本的按钮 我使用硬编码html创建每个div,我希望jQuery函数首先获取所有div,然后放入数组选项卡中 然后,我想迭代tabs数组,并为每个div创建一个按钮,该按钮应附加到buttonContainer类,以便所有按钮都像普通菜单一样位于同一区域 我还希望为创建的每个按钮创建一个on-click函数,该函数将.hide()所有选项卡,并最终.show()显示属于已单击按钮的选项卡 我已经试着让它在中工作,但是我在尝试迭代div元素时遇到了问题(我认为这就是问题所在) htmlJavascript 为每个具有类名的div动态创建按钮,并创建单击时显示/隐藏功能,javascript,jquery,html,Javascript,Jquery,Html,我正试图想出一个很好的解决方案来轻松添加菜单页面。 每个菜单页都应该是一个带有类“shTab”的div,为了确定它是一个显示/隐藏元素,我还想给每个div一个唯一的名称,这样我就可以创建以该名称作为文本的按钮 我使用硬编码html创建每个div,我希望jQuery函数首先获取所有div,然后放入数组选项卡中 然后,我想迭代tabs数组,并为每个div创建一个按钮,该按钮应附加到buttonContainer类,以便所有按钮都像普通菜单一样位于同一区域 我还希望为创建的每个按钮创建一个on-cli
<div class='buttonContainer'>
</div>
<div class='container'>
<div class='shTab' name='home'>
<p>Homepage! yay</p>
</div>
<div class='shTab' name='contact'>
<p>Contact page! yay</p>
</div>
<div class='shTab' name='images'>
<p>no images yet :(</p>
</div>
</div>
主页!耶
联系页面!耶
还没有图像:(
javaScript
var tabs = [];
$(document).ready(function(){
$('div.shTab').each(function(i, obj) {
tabs.push(obj);
});
for (var div in tabs) {
div.hide();
$('.buttonContainer').append(
$('<button/>', {
text: div.name,
click: function () {
for (var div in tabs) {
div.hide();
}
this.show();
}
})
);
}
});
var选项卡=[];
$(文档).ready(函数(){
$('div.shTab')。每个(函数(i,obj){
按钮(obj);
});
用于(选项卡中的var div){
隐藏分区();
$('.buttonContainer')。追加(
$('', {
文本:div.name,
单击:函数(){
用于(选项卡中的var div){
隐藏分区();
}
this.show();
}
})
);
}
});
我注意到for循环中的'div'对象不能作为jQuery对象使用,.hide(),.name…等不能像我预期的那样工作
我做错了什么?同样的事情,通过jQuery完成。,如果需要的话
//创建选项卡集合。。。
变量选项卡=$('.shTab');
//根据选项卡本身创建按钮
对于(变量i=0;i
主页!耶
联系页面!耶
还没有图像:(
同样的事情,通过jQuery完成。,如果需要的话
//创建选项卡集合。。。
变量选项卡=$('.shTab');
//根据选项卡本身创建按钮
对于(变量i=0;i
主页!耶
联系页面!耶
还没有图像:(
我通过查看所有帮助找到了答案。非常感谢
$(文档).ready(函数(){
var标签=[];
$('div.shTab')。每个(函数(i,obj){
tabs.push($(obj));
});
对于(变量i=0;i
主页!耶
联系页面!耶
还没有图像:(
我通过查看所有帮助找到了答案。非常感谢
$(文档).ready(函数(){
var标签=[];
$('div.shTab')。每个(函数(i,obj){
tabs.push($(obj));
});
对于(变量i=0;i
主页!耶
联系页面!耶
还没有图像:(
我创建了一个fiddle()…也许有帮助。但是请注意,我不喜欢查询,所以我只使用了JavaScript。谢谢,我修改了你的代码,现在它几乎实现了我想要的功能。()尽管如此,我还是更喜欢jQuery版本。但是…这总比什么都没有好!谢谢^^我创建了一个fiddle()…也许有帮助