2017-12-09 1 views
0

현재 SharePoint Script Editor 웹 파트에 배치 한 JavaScript 코드가 있습니다. 검색 문자열이 1 인 경우 SP CSS를 호출하여 고급 검색 웹 파트를 숨기거나 그렇지 않으면 표시하는 것이 좋습니다.스크립트 편집기에서 SharePoint의 Javascript 내부에서 CSS 호출하기

나는 JavaScript가 Query 문자열의 값을 성공적으로 가져 왔지만, 어떻게 Javascript if 문 내에서 CSS를 호출하게 할 수 있습니까?

.srch-advancedtable { 

visibility: hidden; 
} 

내 자바 스크립트는 다음과 같다, 그러나 성공적으로 CSS를 호출되지 않습니다 :

<script> 

function getParamValuesByName (querystring) { 
var qstring = window.location.href.slice(window.location.href.indexOf('?') + 
1).split('&'); 
for (var i = 0; i < qstring.length; i++) { 
var urlparam = qstring[i].split('='); 
if (urlparam[0] == querystring) { 
    return urlparam[1]; 
} 
} 
    } var uid = getParamValuesByName('id'); 


document.write(uid); 

if (uid == 1){ 

alert("the value is 1") 

document.getElementById("srch-advancedtable").visibility = hidden; 
} 


</script> 

어떻게 얻을 수

내가 자바 스크립트에서 호출 할 필요가있는 CSS는 다음과 이게 제대로 작동하는거야?

+0

무엇이 오류입니까? 검색 웹 파트가 렌더링되기 전에 스크립트가 실행 중이므로 document.getElementById ("srch-advancedtable")가 정의되지 않은 상태로 반환됩니다. 고급 검색 웹 파트 이후에로드되도록 webpart 영역 내에서 스크립트 편집기 웹 파트의 위치를 ​​변경하려고 시도 했습니까? window.onload 함수를 사용하여 DOM 요소가로드 될 때까지 기다릴 수도 있습니다. –

+0

안녕 Vineet, 나는 어떤 오류도 내지 않고있다. 그것은 단순히 그것을 부르지 않을 것입니다. CSS를 webpart에 직접 배치하면 페이지로드에서 작동하지만 원하는 것은 아니며 JavaScript에서 호출 할 때 실행해야합니다. 스크립트 편집기를 페이지 맨 아래에 순서를 재지 정하고 Windows onload를 사용했지만 작동하지 않습니다. 내가 시도 할 수있는 다른 아이디어가 있습니까? –

답변

0

답변을 찾았습니다. ID가 아닌 CSS 클래스였습니다. 작동 방식 :

document.getElementsByClassName("srch-advancedtable")[0].style.visibility= "hidden"; 
관련 문제