JQuery脚本无法完全执行

时间:2012-10-03 19:58:02

标签: javascript jquery userscripts

我正在编写一个用户脚本,该元素会在tumblr仪表板上插入一个元素,并使用从页面另一部分拉出的用户跟踪标记填充它。虽然我的脚本看起来应该可以工作,但到目前为止我所要做的就是创建元素;元素的内容永远不会填充。

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 JSFiddle上的脚本以及我正在使用的HTML。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

JSFiddle非常有用,所以我在你的脚本中发现了几个错误。通常,hrefs中的javascript未正确转义。此外,您附加到错误的元素。

您可以看到it working