我有这个脚本很好地工作,但我需要弄明白
脚本搜索网站上的数据库以获取特许经营权图标,并用图标替换相应的特许经营名称,但有时特许经营没有图标,我需要让脚本返回文本,目前它留下了很大的带有" X"的盒子在里面,没有名字或图标。
var prop, fdb = null, filter_fn;
filter_fn = function() {return $(this).text() === fdb.name;};
for(prop in window.franchiseDatabase) {
if (/^fid_/.test(prop) && prop !== 'fid_0000') {
fdb = window.franchiseDatabase[prop];
$('#brief_standings, #livescoring_summary, #recent_draft_picks')
.find('td').filter(filter_fn)
.html( '<a href="' + window.baseURLDynamic + '/' + window.year + '/options?L=' + window.league_id + '&F=' + fdb.id + '&O=01">' + '<img src="' + fdb.icon + '"class="franchiseicon" title="' + fdb.name + '" /></a>' );
}
}
答案 0 :(得分:0)
我想你需要类似的东西
$('#image_id').error(function() {
alert('Replace your <img> with text again !!!');
});
或者您可以查看此链接How to check if image exists with given url?
这可能会解决您的问题。
答案 1 :(得分:0)
尝试
var prop, fdb = null, filter_fn;
// filter_fn = function() {return $(this).text() === fdb.name;};
for(prop in window.franchiseDatabase) {
if (/^fid_/.test(prop) && prop !== 'fid_0000') {
fdb = window.franchiseDatabase[prop];
$('#brief_standings, #livescoring_summary, #recent_draft_picks')
.find('td') // .filter(filter_fn)
.html(function(i, o) {
return (
o === fb.name
? '<a href="' + window.baseURLDynamic + '/'
+ window.year + '/options?L='
+ window.league_id + '&F=' + fdb.id + '&O=01">'
+ '<img src="' + fdb.icon + '"class="franchiseicon" title="'
+ fdb.name + '" /></a>'
:
// do stuff with `text` , original html , new html
// return original html `o`,
// modifiy, return new html, i.e.g., "name not found"
o
);
});
}
};