在javascript中将样式显示从none更改为block?

时间:2012-08-29 08:54:28

标签: javascript html jquery

这是html代码段

<li style="opacity: 1;">
    <a id="LinkDisplay" class="optionsDropDown" style="color:#FF0000;display:none" href="javascript:showThisLink('LinkId');">
</li>

这是在加载时调用的jquery函数

$(function () {
    $.ajax({
        url: url,
        dataType: 'json',
        data: '',
        type: 'POST',
        success: function (data) {
            alert("Test");
            document.getElementById("LinkDisplay").style.diplay="block"; // line 1
            // after this line execution i should see the link as i have
            // changed the link display from none to block but it is still invisible
        });
    });
}

执行第1行后,我不确定为什么我的链接不可见?

6 个答案:

答案 0 :(得分:16)

您尚未更改代码中的显示属性

 document.getElementById("LinkDisplay").style.display="block"

在line1

之后将此代码插入到您的函数中

答案 1 :(得分:7)

由于你使用的是jQuery,你可以写

$("#elemId").show()

答案 2 :(得分:2)

li设置为opacity: 0,这使其透明。

您需要将其'不透明度更新为1以使其可见。

替换它:

document.getElementById("LinkDisplay").style.color = "#FF0000";

用这个:

$('#LinkDisplay').show().parent('li').css({opacity: 1});

第二行是jQuery(因为你已经使用了jQuery并且更容易找到父节点) - 它找到LinkDisplay链接并将display: none更改为display: block,然后改变父节点li不透明使其可见。

Working jsFiddle

答案 3 :(得分:1)

看起来你已经在使用jquery了,所以你可以使用$ selector语法简化一下:

$('#LinkDisplay').css('display', 'block')

您还可以使用jQuery show方法缩短第一部分,如下所示:

$('#LinkDisplay').show()

jQuery选择器可以按ID或类查找元素,使用#表示id,使用.表示类。 jQuery css方法允许您使用各种方法获取和设置属性。并且jQuery parent方法可以快速允许您从DOM中的元素向上遍历以查找其他标记。

答案 4 :(得分:1)

使用jQuery:

$('#LinkDisplay').css('display','block');
$('#LinkDisplay').parent().css('opacity','1');

答案 5 :(得分:1)

问题是行中显示的拼写:

document.getElementById("LinkDisplay").style.display="block";