我使用jQUery UI Position插件:http://jqueryui.com/position/将我的图标放在网页上。选择器从数据库中获取并使用PHP在$ myselector变量中输出到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输出选择器而不会遇到错误?谢谢你的帮助。
答案 0 :(得分:14)
我遇到了类似的问题。我收到以下错误:
未捕获的TypeError:无法读取未定义的属性“nodeType”
使用这些对话框位置配置值:
position: {my: "center", at: "left top", of: "window"}
根据jQuery UI documentation,“of”属性的值是一个对象而不是一个字符串。所以,当我将位置值更改为以下内容时:
position: {my: "center", at: "left top", of: window}
错误消失了。
答案 1 :(得分:2)
问题是由于如果对象/选择器无效,of:$()
无效。
答案 2 :(得分:0)
如果没有关闭任何标签,请检查您的代码。我尝试了相同的,它工作正常。显然,我有一个额外的标签
答案 3 :(得分:0)
通常,当您不应用prop()等方法的属性时会发生这种错误。例如:$(#"id").prop()
。如果您没有指定其属性,也会发生此错误。
答案 4 :(得分:0)
就我而言,我只是更改了以下内容和错误 [DataTables警告:表id = bootstrap-data-table2-请求的第0行的未知参数'0'。有关此错误的更多信息,请参见http://datatables.net/tn/4] 不见了:
发件人:
[enter image description here][1] <tbody>
@foreach (var item in Model.HRMS_Tbl_ExpenseClaimModelList)
{
<tr>
@if (item.Approved == "1")
{
<td>@item.Date</td>
<td>@item.Date</td>
<td>@item.Type</td>
<td>@item.Amount</td>
}
</tr>
}
</tbody>
TO:
<tbody>
@foreach (var item in Model.HRMS_Tbl_ExpenseClaimModelList)
{
if (item.Approved == "1")
{
<tr>
<td>@item.Date</td>
<td>@item.Date</td>
<td>@item.Type</td>
<td>@item.Amount</td>
</tr>
}
}
</tbody>