我有这个jquery函数---
function domail_slide_settings(obj)
{
$("div#" + obj).toggle();
}
当我像这样执行它时
<a href="#" onclick="domail_slide_settings('toggle')" id="toggle" >Toggle</a>
它没有切换!有没有人对此有任何想法。请让我知道,这将是一个很大的帮助。
提前致谢!
答案 0 :(得分:4)
尝试
$("#" + obj).toggle();
并将其指向&lt; div>元素,而不是锚
答案 1 :(得分:4)
ID属性必须在HTML文档中是唯一的,否则您将遇到不必要的副作用。从它的外观来看,带有点击处理程序的<a>
元素与您要切换的id
元素具有相同的div#toggle
属性。在某些浏览器中,这几乎肯定会成为一个问题。
尝试将<a>
元素的ID更改为唯一:
<a href="#" onclick="domail_slide_settings('toggle')" id="toggle_div" >Toggle</a>
答案 2 :(得分:1)
请改为尝试:
<a href="#" id="toggle">Toggle</a>
<div id="div_toggle"></div>
和此:
$(function() {
$("#toggle").click(function(e){
e.preventDefault();
$("#div_" + this.id).toggle();
// or $(this).next().toggle(); depending on your markup
});
});
我敢打赌,您为<a>
代码和<div>
代码使用了相同的ID,不应该这样做。
答案 3 :(得分:0)
或者你可以尝试
$('#' + obj).parent().toggle();
^^
答案 4 :(得分:0)
字符串连接的结果 - “div#toggle” - 正在选择一个带有id切换的div,而不是你的锚。
我认为你的意思是选择它:
$("#toggle").parent()
或者,如果你真的想要锚本身,请使用:
$("#toggle")
在任何情况下,由于你的函数是一个onclick处理程序(虽然直接通过浏览器,不使用jQuery事件api),你也可以这样做:
function domail_slide_settings() {
$(this).parent().toggle()
// or this.toggle();
}