Javascript 仅闪烁特定文本

Javascript 仅闪烁特定文本,javascript,jquery,Javascript,Jquery,我必须制作闪烁文本,但仅限于文本=“某物”的位置。我已经有了工作机制,但不知道我可以把这个条件放在哪里,你能帮忙吗 css: .blink { color: #FFF !important; background: #FC79CE; } <script> $(document).ready(function () { blink(".msgblink", 4, 500); }); function

我必须制作闪烁文本,但仅限于文本=“某物”的位置。我已经有了工作机制,但不知道我可以把这个条件放在哪里,你能帮忙吗

css:
 .blink {
        color: #FFF !important;
        background: #FC79CE;

    }

<script>
    $(document).ready(function () {
        blink(".msgblink", 4, 500);
    });

    function blink(elem, times, speed) {
        if (times > 0 || times < 0) {
            if ($(elem).hasClass("blink"))
                $(elem).removeClass("blink");
            else
                $(elem).addClass("blink");
        }

        clearTimeout(function () { blink(elem, times, speed); });

        if (times > 0 || times < 0) {
            setTimeout(function () { blink(elem, times, speed); }, speed);
            times -= .5;
        }
    }

</script>
css:
.眨眼{
颜色:#FFF!重要;
背景:#FC79CE;
}
$(文档).ready(函数(){
闪烁(“.msgblink”,4500);
});
功能闪烁(元素、次数、速度){
如果(次数>0 | |次<0){
if($(elem).hasClass(“闪烁”))
$(elem).removeClass(“闪烁”);
其他的
$(elem).addClass(“闪烁”);
}
clearTimeout(函数(){blink(元素、时间、速度);});
如果(次数>0 | |次<0){
setTimeout(函数(){blink(元素、时间、速度);},速度);
次数-=.5;
}
}
在这个脚本中,我可以指定只在text=“something”的地方闪烁

更新:

<th class="grid-header msgblink" title="MessageType"><div class="grid-filter" data-filterdata="[]" data-name="MessageType" data-type="System.String" data-widgetdata="null"><span class="grid-filter-btn" title="Filter this column"></span></div><div class="grid-header-title"><a href="?grid-column=MessageType&amp;grid-dir=0">MessageType</a></div></th>

<td class="grid-cell msgblink" data-name="MessageType"> INFO something</td>

信息
您可以使用jquery的选择器进行此操作,即检查您将要闪烁的元素的html文本

例如:

$( "div:contains('John')" ).css( "text-decoration", "underline" );
您的闪烁功能可能如下所示

function blink(elem, times, speed) { 
  var id=   $(elem).prop("id");
  if($("#" +id + ":contains('John')" )
  {
    //your code to adding class
  }
}
或者,如果您正在检查文本是否等于

function blink(elem, times, speed) { 
  alert($(elem).val())
  if($(elem).val()==="something" )///for input element 
  //if($(elem).text()==="something" )//for other html element like div,span etc.
  {
    //your code to adding class
  }
}
尝试添加以下内容:

function blink(elem, times, speed) {
   if (elem.text() != "something") { 
     return;
   }
   // rest of code

以下是对原始代码的一个小修改,它可以正常工作,您可以轻松更改正在搜索的文本:

$(文档).ready(函数(){
//闪烁(“.msgblink”,4500);
$(“.msgblink”)。每个(函数(){
if($(this).text().indexOf('something')!=-1){
眨眼(这个,4500);
}
});
});
功能闪烁(元素、次数、速度){
如果(次数>0 | |次<0){
if($(elem).hasClass(“闪烁”))$(elem.removeClass(“闪烁”);
else$(elem).addClass(“闪烁”);
}
clearTimeout(函数(){
闪烁(元素、次数、速度);
});
如果(次数>0 | |次<0){
setTimeout(函数(){
闪烁(元素、次数、速度);
},速度);
次数-=.5;
}
}
。闪烁{
颜色:#FFF!重要;
背景:#FC79CE;
}

某物
没有什么
某物
另一个
信息

在blink函数中,您可以使用$(elem).val()来获取值并相应地切换blink类。我认为这正在运行。请查看我在更新部分I modyfy中的主要帖子,正如您所建议的,但它不起作用。@StackUser-尝试警告val的值,即警告($(“#“+id).val())检查它是否给了你一个值,你能不能把这个改变放在你的答案中,如果你能做到的话,我对jquery不太熟悉。@StackUser-更新代码试试看……如果你的元素不是输入元素,请使用html,我不知道为什么,但在实现后它工作不好,如果你能创建JSFIDLE,或者在不起作用的地方共享页面的url,这样会更容易提供帮助。您在控制台中看到一些错误吗?在控制台中看到一些错误(请注意,页面已正确加载,只是没有闪烁):“加载资源失败:服务器响应状态为404(未找到)”http://localhost:60243/u browserLink/requestData/5D4AB75D71984F6599DB9BD69CBBAC76JQuery是否已加载?
$(document).ready(函数(){
执行了吗?我完全按照您发布的方式执行了。