【问题标题】:Remove part of a string from a variable jquery从变量 jquery 中删除部分字符串
【发布时间】:2011-01-18 21:37:51
【问题描述】:

我正在尝试获取鼠标悬停的 ID 并删除部分 ID,只留下我需要采取行动的核心文本。

我的鼠标悬停将返回一个 id,例如“nevadaActiveArea”,但我需要将该字符串操作为“nevada”。我运行的所有搜索都说明了如何对某些元素的内容执行此操作,但我只需要变量中的文本。我如何做到这一点?

最终代码基于 Josh Stodola 的回答:

$("area").mouseover(function(){
    var overID = $(this).attr("id");
    if(overID.indexOf("ActiveArea") >= 1){
        id = overID.substring(0, overID.indexOf("ActiveArea"));
    }else if(overID.indexOf("Hotspot") >= 1){
        id = overID.substring(0, overID.indexOf("Hotspot"));
    }

    $("#"+id).show();
});

【问题讨论】:

  • 您对 ID 名称有任何控制权吗?您需要确保它以某种形式保持一致。使用某种分隔符进行修剪也很好,例如 nevada-activeArea
  • 如果可以简化事情,我可以添加分隔符。我实际上有两个可能的字符串要删除。有些是 nevadaActiveArea,有些是 nevadaHotspot。我可以轻松地将 id 转换为 nevada-ActiveArea 和 nevada-Hotspot。

标签: jquery string replace variables


【解决方案1】:

鉴于所有 ID 都以“ActiveArea”结尾,您可以使用 substring 和 indexOf...

$("#nevadaActiveArea").mouseover(function() {
  var id = $(this).attr("id");
  id = id.substring(0, id.indexOf("ActiveArea"));
  alert(id);
});

【讨论】:

  • 应该提到这一点 - 我实际上有两个可能的字符串要删除。有些是 nevadaActiveArea,有些是 nevadaHotspot。我试过在一个上运行你的,它工作得很好,但是当我背靠背运行它时,它坏了。
  • 用这个来找出其余的,用答案编辑我的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-07
  • 1970-01-01
  • 2011-02-26
  • 2017-07-02
相关资源
最近更新 更多