2015-06-23 48 views
0

我想調用一個簡單的javascript函數,它隱藏或顯示Sharepoint中的特定div。我已經在那裏添加了腳本編輯器Web部件的功能,但是錨定標記在我保存時會刪除href。下面是我輸入的代碼。Sharepoint刪除Javascript函數調用

的Javascript:

<script type="text/javascript" charset="utf-8"> 
    function toggleDiv(divId) { 
     $("#"+divId).toggle(); 
    } 
</script> 

HTML:

<a href="javascript:toggleDiv('answer1');">Show Answer 1</a> 

我保存後,系統的Sharepoint告訴我,某些元素被認爲 「不安全」 的SharePoint將被刪除。當它重新加載,它消除了HREF如下圖所示:

<a>Show Answer 1</a> 

任何想法我怎麼能得到這個簡單的函數工作?

感謝, 喬丹

+1

從腳本標記內部綁定事件而不是使用內聯JS。給它一個ID,名稱或其他吸菸槍以供給jQuery選擇器,然後'.click(toggleDiv)'將設置其餘部分。 – dandavis

+0

由於這將用於單個頁面中的多個divIds,我是否需要複製每個答案的腳本以提供不同的參數? – 1337Atreyu

+0

不,您只需使用逗號將更多規則添加到選擇器中即可將它們分開。例如:$(「#div1,。cycleskers,a [href * = menu]」)。click(toggleDiv)' – dandavis

回答

1

如果您有多個答案,你可以創建這樣一個簡單的腳本(我注意到你正在使用jQuery)

<script type="text/javascript" charset="utf-8"> 
$(document).ready(function(){ 
    $('a').click(function(){ 
    $('#' + $(this).data('answer')).toggle(); 
    }); 
}); 
</script> 

和HTML:

<a data-answer="answer1">Show answer 1</a> 
<a data-answer="answer2">Show answer 2</a> 
... 
<div id="answer1" style="display:none">Here answer 1</div> 
<div id="answer2" style="display:none">Here answer 2</div> 

UPDATE:增加了ready function,這樣腳本纔會在頁面加載完成時運行ly

+0

由於某些原因,這會使鏈接文本(顯示答案1)不可點擊,即使它包裹在錨標記... – 1337Atreyu

+0

您可以使用'DIV'而不是'a',因此將'

Show answer 1
'或將'HREF'添加到'a',因此將會'Show answer 1' –

+0

仍然無法使用。我正在查看調試器並單擊該鏈接或div將不會執行任何操作。原諒我的無知,但什麼是「數據答案」? – 1337Atreyu