Javascript 干涸JQuery
我有几个链接和div,我想有相同的功能上。基本上,你点击一个链接/按钮/任何被选为触发器的东西,相应的空间就会打开 标记看起来像Javascript 干涸JQuery,javascript,jquery,ruby-on-rails-3,html,coffeescript,Javascript,Jquery,Ruby On Rails 3,Html,Coffeescript,我有几个链接和div,我想有相同的功能上。基本上,你点击一个链接/按钮/任何被选为触发器的东西,相应的空间就会打开 标记看起来像 <!-- some code --> <li><a href="#" id="first">First</a></li> <li><a href="#" id="second">Second</a></li> <li><a href="#" i
<!-- some code -->
<li><a href="#" id="first">First</a></li>
<li><a href="#" id="second">Second</a></li>
<li><a href="#" id="third">Third</a></li>
<div id="f_i_r_s_t"></div>
<div id="s_e_c_o_n_d"></div>
<div id="t_h_i_r_d"></div>
哪一个有效
// refactored_script.js.coffee
hideables = {
'#first': '#f_i_r_s_t',
'#second': '#s_e_c_o_n_d',
'#third': '#t_h_i_r_d'
}
for content_space, link_trigger in hideables
$(content_space).hide()
$(link_trigger).click ->
$(content_space).slideFadeToggle()
但是重构后的脚本不起作用。有什么想法吗?像这样做吧
<li><a href="#" class="links" id="first">First</a></li>
<li><a href="#" class="links" id="second">Second</a></li>
<li><a href="#" class="links" id="third">Third</a></li>
<div id="first-content"></div>
<div id="second-content"></div>
<div id="third-content"></div>
$('a.links').click(function() {
$('#' + $(this).attr('id') + '-content').slideToggle()
});
$('a.links')。单击(函数(){
$('#'+$(this.attr('id')+'-content').slideToggle()
});
在你的身份证上加下划线只会让你的问题变得更难,更没有活力;当然可以。您只需获取ID attr并在每个字符之间插入下划线,但是。。。这就是我要说的一切。像这样做吧
<li><a href="#" class="links" id="first">First</a></li>
<li><a href="#" class="links" id="second">Second</a></li>
<li><a href="#" class="links" id="third">Third</a></li>
<div id="first-content"></div>
<div id="second-content"></div>
<div id="third-content"></div>
$('a.links').click(function() {
$('#' + $(this).attr('id') + '-content').slideToggle()
});
$('a.links')。单击(函数(){
$('#'+$(this.attr('id')+'-content').slideToggle()
});
在你的身份证上加下划线只会让你的问题变得更难,更没有活力;当然可以。您只需获取ID attr并在每个字符之间插入下划线,但是。。。这就是我要说的一切。我会这样做:
<li><a href="#" class=toggler toggle="first">First</a></li>
<li><a href="#" class=toggler toggle="second">Second</a></li>
<li><a href="#" class=toggler toggle="third">Third</a></li>
<div id="first"></div>
<div id="second"></div>
<div id="third"></div>
这是一种通用解决方案,可以以多种方式使用。我将通过以下方式实现:
<li><a href="#" class=toggler toggle="first">First</a></li>
<li><a href="#" class=toggler toggle="second">Second</a></li>
<li><a href="#" class=toggler toggle="third">Third</a></li>
<div id="first"></div>
<div id="second"></div>
<div id="third"></div>
这是一种通用的解决方案,可以以多种方式使用。我确实会这样做
<li class="links"><a href="#first">First</a></li>
<li class="links"><a href="#second">Second</a></li>
<li class="links"><a href="#third">Third</a></li>
<div id="first"></div>
<div id="second"></div>
<div id="third"></div>
$('li.links a').click(function(e) {
e.preventDefault();
target = $(this).attr('href');
$(target).slideToggle();
});
$('li.links a')。单击(函数(e){
e、 预防默认值();
target=$(this.attr('href');
$(目标).slideToggle();
});
这样,您就可以使用css:target属性作为故障转移我实际上会这样做
<li class="links"><a href="#first">First</a></li>
<li class="links"><a href="#second">Second</a></li>
<li class="links"><a href="#third">Third</a></li>
<div id="first"></div>
<div id="second"></div>
<div id="third"></div>
$('li.links a').click(function(e) {
e.preventDefault();
target = $(this).attr('href');
$(target).slideToggle();
});
$('li.links a')。单击(函数(e){
e、 预防默认值();
target=$(this.attr('href');
$(目标).slideToggle();
});
通过这种方式,您可以使用css:target属性作为故障转移您可以执行以下控制台:test=对于内容空间,在hideables中使用link\u触发器;我认为这种语法是错误的。是的,你的名字完全错了。f\u i\u r\u s\t->说真的吗?这也许是一个更好的问题。谢谢,我只是为了提问的目的而使用它。概念是链接“爆炸”空间。我的应用程序使用了更多我无法使用的描述性术语here@RaynosПΞVΞЯ…好吧,也许最终你需要中的括号;我认为这种语法是错误的。是的,你的名字完全错了。f\u i\u r\u s\t->说真的吗?这也许是一个更好的问题。谢谢,我只是为了提问的目的而使用它。概念是链接“爆炸”空间。我的应用程序使用了更多我无法使用的描述性术语here@RaynosΞVΞЯ…好吧,也许最终你需要
中的括号来表示
。