2013-04-03 1 views
6

jquery UI 위치 플러그인을 사용하여 웹 페이지에 아이콘을 배치합니다. 선택기는 데이터베이스에서 가져 와서 $ myselector 변수에서 PHP를 사용하여 JS로 출력됩니다. 이것은 내 현재 코드 :jQuery : Uncaught TypeError : 정의되지 않은 'nodeType'속성을 읽을 수 없습니다.

var element_selector='<?php echo $myselector;?>'; 

$('#inline_docxdiv .Featured.Slider').position({ 
my: "center", 
at: "right top", 
of: $(element_selector) 

}); 

//append icons,applicable to all 

$(divname<?php echo $uniqueid;?>).append('<div id="inline_docxdiv" class="<?php echo $uniqueid;?>"><div id="helpericons_display"><a class="<?php echo $title_toolsetdisplayed;?>" id="questionmarkicon_inlinedoc" title="Display Explanation"><img src="<?php echo $helper_iconpng;?>"></a><a target="_blank" href="<?php echo admin_url().'post.php?post='.$id_toolsetdisplayed.'&action=edit';?>" class="<?php echo $title_toolsetdisplayed;?>" id="sourceicon_inlinedoc" title="View source"><img src="<?php echo $helpersource_iconpng;?>"></a></div></div>'); 

아이콘이 제대로 추가되지 않습니다 그러나 그것은 콘솔에서 오류를 반환

Uncaught TypeError: Cannot read property 'nodeType' of undefined

이상한 것은입니다 내가 하드 코딩의 선택을하는 경우 JS 코드 (PHP가 출력하지 않음)는 정상적으로 작동하며 콘솔에 오류가 반환되지 않습니다. 이것은 요소 선택기를 하드 코드 한 코드입니다.

var element_selector='.idoc-featured-slider'; 

PHP를 사용하여 선택기를 출력하고 오류가 발생하지 않는 방법이 있습니까? 어떤 도움을 주셔서 감사합니다.

+0

우리는' ' –

답변

13

비슷한 문제가 발생했습니다. 이러한 대화 위치 구성 값으로

Uncaught TypeError: Cannot read property 'nodeType' of undefined

: 나는 다음과 같은 오류지고 있던 jQuery를 UI documentation

position: {my: "center", at: "left top", of: "window"} 

을의 "의"의 값은 속성은 객체가 아닌 문자열입니다. 따라서 위치 값을 다음과 같이 변경했을 때

position: {my: "center", at: "left top", of: window} 

오류가 사라졌습니다.

+0

귀하의 답변은 내 문제를 해결하는 데 큰 도움이되었습니다. 내 경우,'of'는 존재하지 않는 요소의'id '에''window "'로 설정되지 않았습니다. – Pere

+0

그러나 당신이 가리키는 문서 링크를 따라 가면 더 자세한 정보가있는 링크를 따라 가면 arg가 선택자 (즉, 문자열) 또는 객체가 될 수 있다고합니다. 'window'의 경우에는 문제가 될 수 있습니다 만, 선택기 문자열 일 수 있으므로 문자열이 루트가 될 수 없다는 점을 지적합니다. - http://api.jqueryui.com/position/ – PandaWood

0

태그가 닫혀 있지 않은지 여부를 코드에서 확인하십시오. 나는 똑같이 시도했고 제대로 작동했다. 분명히 여분의 태그가 있습니다.

+0

당신은 우르 코드를 보여야 할 수도 있습니다. –

1

오브젝트/선택기가 유효하지 않은 경우이 문제는 of:$()이 작동하지 않아 발생합니다.

0

일반적으로이 오류가 발생하는 것보다 속성을 지정하지 않은 경우 prop()와 같은 속성 (예 : $(#"id").prop())을 적용하지 않으면이 종류의 오류가 발생합니다.

+0

네가 맞아.하지만 소품은 무엇을 기대하고 있니? – msqar

관련 문제