2011-12-06 149 views
1

我用下面的代碼來設置一個div的左邊距與id=""如何使用JavaScript設置marginLeft屬性?

document.getElementById('s4-ca').style.marginLeft = '0px'; 

然而越來越像必選對象的錯誤!

更新 - 我的代碼

<script type="text/javascript"> 
    var groupName; 
    $().SPServices({ 
    operation: "GetGroupCollectionFromUser", 
    userLoginName: $().SPServices.SPGetCurrentUser(), 
    async: false, 
    completefunc: function(xData, Status) { 
    $(xData.responseXML).find("[nodeName=Group]").each(function() 
    { 
    groupName = $(this).attr("Name"); 
    }); 
    } 
    }); 
    if($.trim(groupName) != 'ABC') 
    { 
    document.getElementById('s4-leftpanel').style.display = 'none'; 
    document.getElementById('s4-ca').style.marginLeft = '0px'; 
    } 
</Script> 
+1

這是爲什麼標籤的jQuery? – alex

+0

對不起,我不知道Jquery,我用這個爲我的Sharepoint 2010母版頁!!我不知道你標記的JQuery意味着什麼! – Jithu

+0

你的標題說「JQuery - 如何設置保證金剩餘財產」,不是嗎? – Paparappa

回答

0

沒有什麼錯你的JavaScript,只是給<div>匹配的id屬性,那麼它應該工作正常,即

<div id="s4-ca"></div> 

所以有您收到錯誤的原因是因爲document.getElementById('s4-ca')未找到與匹配的id的en元素,因此它的值爲null,並且您無法在空對象上引用style屬性。

另外,當您設置marginLeft時,不需要指定單位爲零,您只能使用0

document.getElementById('s4-ca').style.marginLeft = "0"; 
+0

PLZ看看更新的問題,PLZ也表明我的問題是的jQuery或JavaScript,有人改了我的標題和查詢JavsScript! – Jithu

0

像這樣的事情可能?

$('#s4-ca').css({ marginLeft: 0 }); 
+0

PLZ看看更新的代碼,簡化版,似乎工作!我正在做一個SharePoint的主頁! – Jithu

0
$('#s4-ca').css({ marginLeft: 0 }); 

$('#s4-ca').css('margin-left', 0); 

你的代碼是不是jQuery的,但上面的代碼是jQuery中做到這一點的方式,無論是工作。

更新:你的錯誤信息可能意味着沒有id =「s4-ca」的元素,請檢查這樣的元素!看到這個jsfiddle:http://jsfiddle.net/4DzyW/你的代碼在哪裏工作。

如果你想使用jQuery
+0

Plz看看更新的代碼,似乎沒有工作!我正在做一個SharePoint的主頁! – Jithu

0

(根據你的問題的標籤)jQuery的

+0

Plz看看更新的代碼,似乎沒有工作!我正在做一個SharePoint的主頁! – Jithu

1

$("#s4-ca").css('marginLeft','0px'); 

.css阿比不可再生:http://jsfiddle.net/VH2z2/

我假設你叫document.getElementById元素前可用。

可以在頁面底部或在load事件處理程序中包含代碼,例如,

window.onload = function() { 
    document.getElementById('s4-ca').style.marginLeft = '0px'; 
}; 

你不應該這樣做,如果有其他的JavaScript代碼,這可能會設置一個load事件處理程序(你會覆蓋它)。

+0

Plz看看更新的代碼,似乎沒有工作!我正在做一個SharePoint的主頁! – Jithu

0

問題是 「對象requierd」 這意味着

document.getElementById('s4-ca') 

回報什麼,你必須確保一個元素ID爲 'S4-CA' 存在

+0

Plz看看更新後的代碼,我正在做一個SharePoint的主頁! – Jithu