Javascript jQuery选择和滑动切换()
我有这样的html:Javascript jQuery选择和滑动切换(),javascript,jquery,Javascript,Jquery,我有这样的html: <div id=1 class=header onclick="hideit(this.id)">Header1 <div class=content>Some content </div> </div> Header1 一些内容 在我的代码中有很多这样的结构,如果有人点击标题,我想切换第二个div(content) 我写了这个函数,但它不工作,有人能告诉我为什么吗 <script language="javascr
<div id=1 class=header onclick="hideit(this.id)">Header1
<div class=content>Some content
</div>
</div>
Header1
一些内容
在我的代码中有很多这样的结构,如果有人点击标题,我想切换第二个div(content)
我写了这个函数,但它不工作,有人能告诉我为什么吗
<script language="javascript">
function hideit(hID)
{
var searcher = "div[id="+hID+"] .content";
$(searcher).slideToggle();
}
</script>
函数hideit(hID)
{
var searcher=“div[id=“+hID+”].content”;
$(搜索器).slideToggle();
}
因为您使用的是jQuery,所以实际上不需要内联调用函数。您可以使用这个简单的事件处理程序完成您要完成的任务:
$(".header").click(function() {
$(this).find(".content").slideToggle();
});
此外,元素ID不应以数字开头
# is the selector for ids
那么你的情况呢
div#1 .content
理想情况下,这些“结构”共享一个公共父节点。如果有很多,那么最好使用事件委派。假设有一个id为foo
的
,其中包含所有这些构造:
$('#foo').delegate('div.header', 'click', function( event ) {
$(this).find('.content').slideToggle();
});
这将把一个事件处理程序绑定到共享父节点。如果没有公共父节点,则需要为每个.header
div元素绑定一个事件处理程序:
$('.header').click(function() {
$(this).find('.content').slideToggle();
});
html:
$(function(){
('div.header').click(function() {
$('div.content', this).slideToggle(); });`
)};
html
<div id='id-1' class='header'>Header1
<div class='content'>Some content
</div>
</div>
哈,你知道在你的文本前面放一个“#”符号会使它成为标题,对吗?因此,您的第一条注释是,
#是Id的选择器
,您不能以数字开始Id。请参阅下面提到这一点的答案。
$(".header").click(function() {
$(".content", $(this)).slideToggle();
});
$(function(){
('div.header').click(function() {
$('div.content', this).slideToggle(); });`
)};
<div id='id-1' class='header'>Header1
<div class='content'>Some content
</div>
</div>
//set regex
var re = /(^\w+-)(\d+)$/i;
//get attr broken into parts
var str = $(this).attr('id').match(re)[1],
id = $(this).attr('id').match(re)[2];