10

これが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行目の実行後、リンクが表示されない理由がわかりません。

4

6 に答える 6

20

コードで表示プロパティを変更していない

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

このコードを関数の line1 の後に挿入します

于 2012-08-29T08:56:52.830 に答える
8

jQueryを使用しているので、次のように書くことができます。

$("#elemId").show()
于 2012-08-29T09:00:12.550 に答える
3

問題は、次の行の表示のスペルです。

document.getElementById("LinkDisplay").style.display="block";
于 2014-07-02T11:41:26.537 に答える
2

liは に設定されopacity: 0、透明になります。

表示するには、不透明度を 1 に更新する必要があります。

これを置き換えます:

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

これとともに:

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

2 行目は jQuery です (すでに jQuery を使用しており、親ノードを見つける方が簡単であるため) - LinkDisplay リンクを見つけてdisplay: nonetodisplay: blockに変更し、親liの不透明度を変更して表示します。

ワーキングjsFiddle

于 2012-08-29T08:57:19.797 に答える
1

また、すでにjqueryを使用しているように見えるので、$セレクター構文を使用して少し単純化できます。

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

jQueryのshowメソッドを使用して、次のように最初の部分を短縮することもできます。

$('#LinkDisplay').show()

#jQueryセレクターは、foridとforclassesを使用してIDまたはクラスで要素を検索できます.jQuery cssメソッドを使用すると、さまざまなメソッドを使用してプロパティを取得および設定できます。また、jQueryの親メソッドを使用すると、DOM内の要素から上に移動して、他のタグを見つけることができます。

于 2012-08-29T09:00:07.670 に答える
1

jQueryの使用:

$('#LinkDisplay').css('display','block');
$('#LinkDisplay').parent().css('opacity','1');
于 2012-08-29T09:00:09.287 に答える