6

jQuery UI Position プラグイン ( http://jqueryui.com/position/ ) を使用して、Web ページにアイコンを配置します。セレクターはデータベースから取得され、$myselector 変数で PHP を使用して JS に出力されます。これは私の現在のコードです:

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>');

ただし、アイコンが正しく追加されず、コンソールにエラーが返されます。

キャッチされていない TypeError: 未定義のプロパティ 'nodeType' を読み取れません

奇妙なことに、JS コード (PHP によって出力されない) でセレクターをハードコーディングすると、すべてが正常に機能し、コンソールにエラーが返されません。これは、要素セレクターをハードコーディングしたコードです。

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

PHP を使用してセレクターを出力し、エラーが発生しないようにする方法はありますか? 助けてくれてありがとう。

4

5 に答える 5

15

同様の問題に遭遇しました。次のエラーが発生しました。

キャッチされていない TypeError: 未定義のプロパティ 'nodeType' を読み取れません

これらのダイアログ位置構成値を使用すると、次のようになります。

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

jQuery UI ドキュメントによると、"of" プロパティの値は文字列ではなくオブジェクトです。そのため、位置の値を次のように変更したとき:

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

エラーが消えました。

于 2013-07-07T22:15:01.520 に答える
3

この問題はof:$()、オブジェクト/セレクターが有効でない場合に機能しないことが原因です。

于 2014-07-22T13:48:07.320 に答える
0

通常、prop() などのメソッドのプロパティを適用しないと、この種のエラーが発生します。例:$(#"id").prop()プロパティを指定しないと、このエラーも発生します。

于 2016-10-28T09:31:25.127 に答える