2012-08-29 38 views
6

這裏是HTML代碼片段在JavaScript中將樣式顯示從無更改爲阻止?

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

這裏是一個被所謂的在負載

$(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號線執行後,我不知道爲什麼我的鏈接不會成爲可見的jQuery功能?

回答

6

由於您使用jQuery,你可以只寫

$("#elemId").show() 
+1

這不起作用。你有一個額外的'。'在'$' – Brombomb

+0

之後感謝Ineentho在刪除額外內容之後工作。 –

12

你沒有一號線

+0

它已經是封鎖了。這是錯字錯誤。更新了原帖 –

2

li設置爲opacity: 0,這使得它透明後

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

插入這段代碼改變了顯示性能在你的代碼到你的功能。

您需要將其'不透明度更新爲1以使其可見。

替換此:

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

與此:

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

第二行是jQuery的(因爲你已經在使用jQuery和它更容易找到父節點) - 它找到LinkDisplay鏈接並將display: none更改爲display: block,然後更改父級li的不透明度以使其可見。

Working jsFiddle

+0

不透明度已經是1.這是錯字 –

0

它也像你已經使用jQuery的,所以你可以通過使用$選擇語法簡化了一下:

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

您也可以使用jQuery show方法來縮短第一部分像這樣:

$('#LinkDisplay').show() 

的jQuery選擇可以找到使用#爲ID和012通過ID元件或類爲類。方法jQuery css允許您使用各種方法獲取和設置屬性。而且jQuery parent方法很快就允許您從DOM中的元素向上遍歷以查找其他標記。

0

使用jQuery:

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

問題是顯示的行拼寫:

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

這是一個錯字,但原始的版本是別的。 –

相關問題