很抱歉这个标题无法理解。
我有这个:
<a class="directory">
Directory 1
<a class="add">Add a file</a> //show/hide on mouseover
</a>
有:
当我点击第一个<a>
来查看文件时,我会切换:
$('a.directory').click(function() {
$(this).parent().find('ul:first').slideToggle('medium');
});
我点击第二个<a>
时添加了一个文件。
当我点击第二个<a>
时,如何检查我是否只是点击了第一个<a>
以避免打开文件夹?
我试试这个但不起作用:
$('a.directory:not(.add)').click(function() {
$(this).parent().find('ul:first').slideToggle('medium');
});
答案 0 :(得分:2)
由于您的第二个链接已经上课,您可以将其用于您的利益:
$('a.directory:not(.add)').click(function(e) {
if (e.target.className === 'add') return false;
$(this).parent().find('ul:first').slideToggle('medium');
});
请注意添加:
if (e.target.className === 'add') return false;
当你点击你正在寻找的第二个添加文件链接时,这将失去功能。
此外,您当前的加价无效。你需要尝试修复它。
答案 1 :(得分:1)
将第二个<a>
从第一个中拉出来,无论如何都是无效的HTML。然后你可以使用CSS格式化以获得相同的风格效果。
<a class="directory">
Directory 1
</a>
<a class="add">Add</a>
您的选择器应该按照您的预期工作。