さて、これが取り引きです: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
、各の属性を取得し、li
そこから「_button」という語句を切り取り、ラベルとなるスパンに残りのテキストを挿入したいと考えています。私の問題は、高低を検索しましたが、javascript でこのようなループを実行する方法についての明確な指示が見つからなかったことです。それは可能ですか?
または、スタイリングしている Web サイトには 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);