Jquery锚标记显示问题

时间:2011-03-09 17:14:24

标签: javascript jquery html

我无法在Jquery或javascript中使用.show()显示锚标记以显示自己。 Conn Window默认可见。它隐藏并显示div,但它无法对锚点执行相同的操作。我已经手动尝试在firebug / IE开发工具中更改它,它在那里工作。当我使用jquery / javascript执行此操作时,它无法正常工作。

以下是HTML代码:

<a href="javascript:connShow();" id="connTab" style="display:none; text-decoration:none;"></a>
<div id="connWindow">Conn Window
    <div id="closeButton" onclick="javascript:connHide();"></div>
</div>

这是jquery代码:

function connHide()
{
    $('#connTab').show();
    $('#connWindow').hide();
}

function connShow()
{
    $('#connWindow').show();
    $('#connTab').hide();
}

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:4)

为什么不在jQuery中绑定你的点击事件

function connHide()
{
    $('#connTab').show();
    $('#connWindow').hide();
}

function connShow()
{
    $('#connWindow').show();
    $('#connTab').hide();
}

$(document).ready(function () {
    $("#contab").click(function () { 
       connShow(); 
       return false;
    });
    $("#connWindow").click(function() { 
       connHide();
    });
});

答案 1 :(得分:1)

您无需为javascript:事件声明onclick。尝试更改为:

<div id="closeButton" onclick="connHide();"></div>

我还会将第一行更改为以下内容:

<a href="#" onclick="connShow(); return false;" id="connTab" style="display:none; text-decoration:none;"></a>

答案 2 :(得分:1)

内联CSS display:noneoverriding jQuery用来显示和隐藏的机制。

以编程方式隐藏锚点:

HTML:

<a href="#" id="connTab" style="text-decoration:none;"></a>
<div id="connWindow">
    Conn Window
    <div id="closeButton"></div>
</div>

脚本:

$(function() { // on document load
    $('#connTab').css('display', 'none');

    // I'm going to replace your inline JS with event handlers here:
    $('#connTab').click(function() { connShow(); return false; });
    $('#closeButton').click(function() { connHide(); });
});

function connHide() {
    $('#connTab').css('display', '');
    $('#connWindow').css('display', 'none');
}

function connShow() {
    $('#connWindow').css('display', '');
    $('#connTab').css('display', 'none');
}

希望有所帮助。