代码之家  ›  专栏  ›  技术社区  ›  ajw-art

JQuery脚本无法完全执行

  •  0
  • ajw-art  · 技术社区  · 13 年前

    我正在编写一个用户脚本,该脚本将一个元素插入到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 回复  |  直到 13 年前
        1
  •  0
  •   nrodic    13 年前

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

    你可以看到 it working