Javascript 如果text()相等,请执行某些操作
问题的标题看起来很简单,解决办法是:Javascript 如果text()相等,请执行某些操作,javascript,jquery,Javascript,Jquery,问题的标题看起来很简单,解决办法是: $('.weatherCity').each(function () { if ($(this).text() == 'LONDON') { $(this).text('London Weather'); } }); 但是我在雅虎工作!天气插件并且想要更改城市名称,它不是iframe,我们允许更改样式等等。。但是看起来它不允许更改这个插件中的任何文本。我以为浏览器读了我的代码,然后雅虎得到了天气预报,然后我使用了promis
$('.weatherCity').each(function () {
if ($(this).text() == 'LONDON') {
$(this).text('London Weather');
}
});
但是我在雅虎工作!天气插件并且想要更改城市名称,它不是iframe
,我们允许更改样式
等等。。但是看起来它不允许更改这个插件中的任何文本。我以为浏览器读了我的代码,然后雅虎得到了天气预报,然后我使用了promise().done()
,但没有任何改变
提前谢谢
-jiff作为解决此问题的方法,您可以这样使用
var interval = setInterval(function() {
if ($('.weatherCity').length) {
$('.weatherCity').each(function() {
if ($(this).text().trim() == 'London') {
$(this).text('London Weather');
}
});
clearInterval(interval);
}
}, 100);
使用
setInterval
不断检查元素,一旦找到就停止检查。问题是,包含位置文本的元素会动态附加到DOM中,因此在加载页面时运行代码没有任何效果。你需要在插件加载时运行它,但是插件不会引发任何事件,所以我认为这是不可能的。您可以使用setTimeout()
,但这是非常不可靠的,也不是很好的做法。根据插件自己的网站,插件本身已经停止使用,你有没有搜索过符合你要求的替代品?@Rorymcrossan我搜索过,这对我的工作来说是最好的,我知道它已经停止使用,但仍然有效。有趣的是,否决投票
!看起来人们喜欢把选票压到每一个他们无法解决的问题上,我从你的回答中得到了答案,我想知道这是否可能。我不明白他们为什么要投反对票。谢谢你的回答好了,很多人投了反对票,我只是在猜为什么??@jiff你检查我的答案了吗?我想它会满足你的要求。@jiff请参阅使用