我有一个奇怪的问题。我正在使用jQuery,jQuery Mobile和我自己的外部.js文件构建移动Wordpress主题。我已经使用<?php global $post; $post_slug=$post->post_name; echo $post_slug; ?>
来获取页面slug标题并将其作为身份标记上的id插入。现在,如果加载了某个页面,我希望在特定点插入一段html。现在直接的问题是我甚至无法测试我的代码,因为出于某种原因,如果我包含这个新函数,我的.js文件甚至都不会加载。这是文件:
$(document).ready(function($){
$("#menu_img").click(function () {
$menu_img = $(this);
$nav_slider = $menu_img.next();
$nav_slider.slideToggle(500);
});
});
$(document ).on("mobileinit", function() {
$.mobile.ajaxEnabled = false;
});
$(document).ready(function(){
$("#send_button").click(function() {
$("#tea_form").submit();
});
});
/*$(document).ready(function(){
if ($("body").hasId("roncy-report") === true) {
$("div#menu").after('<div id="roncy_head">
<img id="roncy_img" src="http://trustrealtygroup.ca/wp-content/themes/trg_mobile/images/roncy_banner.png" alt="">
</div>')};
});*/
如果我注释掉最后一位,文件加载正常,但如果取消注释则不加载。什么可能导致这个?
答案 0 :(得分:0)
AFAIK,jQuery没有.hasId()
方法,并且JS在不同行上分隔的字符串就像你一样。
要测试ID,您可以使用直线选择器,例如$("#roncy-report")
。
更新了最后一段代码:
$(document).ready(function(){
if ($("#roncy-report").length) {
$("div#menu").after('<div id="roncy_head"><img id="roncy_img" src="http://trustrealtygroup.ca/wp-content/themes/trg_mobile/images/roncy_banner.png" alt=""></div>');
}
});