如果text()等于做某事

时间:2016-03-01 10:52:02

标签: javascript jquery

嗯,问题的标题看起来很简单,解决方案是:

$('.weatherCity').each(function () {
    if ($(this).text() == 'LONDON') {
        $(this).text('London Weather');
    }
});

但我正在处理Yahoo! Weather Plugin并希望更改城市名称,而不是iframe我们允许更改style等等。但看起来它不会让任何更改此插件中的文字。我以为浏览器读取了我的代码然后雅虎得到了天气然后我使用promise().done()但没有改变。

jsFiddle

提前致谢

-jiff

1 个答案:

答案 0 :(得分:1)

作为解决此问题的方法,您可以像这样使用

 var interval = setInterval(function() {
   if ($('.weatherCity').length) {
     $('.weatherCity').each(function() {
       if ($(this).text().trim() == 'London') {
         $(this).text('London Weather');
       }
     });
     clearInterval(interval);
   }
 }, 100);

Fiddle

使用setInterval不断检查元素,并在找到元素后停止检查。