好的,这就是交易:我正在尝试创建一个用户脚本以在 Greasemonkey/Chrome/人们用来管理这些东西的任何其他东西中使用。我想做的一部分是为我为这个特定脚本设计的图标创建标签。我至少对如何在 Jquery 中完成此任务有一个粗略的了解。我会使用的代码是这样的:
$('li.tab.iconic').each(function (i) {
var spanName = $('this').attr(id);
var toRemove = '_button';
var spanNameCrop = spanName.replace(toRemove,'');
$('this').append('<span class="tooltip_label">'+spanNameCrop+'</span>');
});
基本上,我想获取id
each 的属性,li
从中修剪短语“_button”,然后将剩余的文本插入将成为标签的跨度中。我的问题是我搜索了高低,但没有找到关于如何在 javascript 中执行这样的循环的明确说明。甚至可能吗?
或者,我正在设计的网站确实包含 Jquery 库。有没有办法告诉我的脚本在站点加载 jquery 后加载,以便 jquery 脚本可以工作?
编辑:感谢 Avladov 让它工作。这是最终的脚本。
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('#header .tab.iconic[id!="missinge_button"] a').css({"background-image":"url('http://i.imgur.com/2QmZG.png')"});
jQuery('#header .tab.iconic').each(function (i) {
var tabID = jQuery(this).attr('id');
var labelName = tabID.replace('_button','');
if (jQuery(this).find('span[class="tooltip_label"]').length){
}
else{
jQuery(this).append('<span class="tooltip_label">'+labelName+'</span>');
jQuery('.tooltip_label').css({'text-transform':'capitalize'});
}
});
};
addJQuery(myFunction);