0

我正在编写一个用户脚本,它将一个元素插入到 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);

这是JSFiddle 上的脚本,其中包含我正在使用的 HTML。任何帮助,将不胜感激。

4

1 回答 1

0

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

你可以看到它工作

于 2012-10-03T20:46:12.477 回答