简体   繁体   English

jQuery脚本无法完全执行

[英]JQuery script failing to execute in full

I'm writing a userscript that inserts an element onto the tumblr dashboard and populates it with a user's tracked tags as pulled from another portion of the page. 我正在编写一个用户脚本,该脚本将元素插入到tumblr仪表板上,并使用从页面另一部分拉出的用户跟踪标签填充该元素。 Though my script seems like it should be working, so far all I've gotten it to do is create the element; 尽管我的脚本似乎应该可以工作,但到目前为止,我要做的只是创建元素。 the element's contents never populate. 元素的内容永远不会填充。

var jQuery, $ = null;

function addJQuery(callback) {
var p = null;

if(window.opera || window.navigator.vendor.match(/Google/)) {
    var div = document.createElement("div");
    div.setAttribute("onclick", "return window;");
    p = div.onclick();
}
else {
    p = unsafeWindow;
}

jQuery = $ = p.jQuery.noConflict();
callback();
}

var myFunction = function() {
jQuery('div#right_column ul#dashboard_controls_open_blog').after('<ul class="controls_section" id="tracked_tags"></ul>');
jQuery('div.tracked_tags a').each(function (i) {
    var tagID = jQuery(this).attr(id);
    var tagIDNumber = tagID.replace('tag_','');
    var tagName = jQuery(this).attr(href);
    var tagNameClean = tagName.replace('/tagged/','');
    var tagContent ='';
    tagContent += '<a href="'+tagName+'" id="'+tagID+'" class="tag">';
    tagContent += '<div class="hide_overflow">'+tagNameClean+'</div>';
    tagContent += '<span id="tag_unread_'+tagIDNumber+'" class="count" style=""></span></a>';
    tagContent += '<a class="sub_control" id="track_'+tagIDNumber+'" style="display:none;" onclick="track_tag('+tagIDNumber+', "n4av5kz9baBCv1PRCPUlT8X5K8", false);return false;">track</a>';
    tagContent += '<div class="remove_tag" id="untrack_'+tagIDNumber+'" onclick="if (confirm("Stop tracking this tag?")) {track_tag('+tagIDNumber+', "n4av5kz9baBCv1PRCPUlT8X5K8", true);} return false;">*</div>';
    tagContent += '<div id="tag_loader_'+tagIDNumber+'" class="tracked_tag_loader" style="display:none;"></div></li>';
    //tagContent += '<script type="text/javascript">new Effect.Appear("tag_unread_'+tagIDNumber+'");</script>';

    jQuery(tagContent).appendTo('div#right_column ul#tracked_tags');
    alert(tagID);


});

};

addJQuery(myFunction);

Here's the script on JSFiddle with the HTML I'm working with included as well. 这也是 JSFiddle上包含我正在使用的HTML的脚本。 Any help would be appreciated. 任何帮助,将不胜感激。

JSFiddle was very helpful, so I have found several errors in your script. JSFiddle非常有用,因此我在您的脚本中发现了几个错误。 Generally, javascript in hrefs was not properly escaped. 通常,href中的javascript不能正确转义。 Also, you appended to wrong element. 另外,您附加了错误的元素。

You can see it working . 您可以看到它正在工作

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM