【问题标题】:Javascript starts with or contains [duplicate]Javascript以或包含[重复]
【发布时间】:2018-05-21 17:31:16
【问题描述】:

试图获得一些关于 JavaScript 的帮助,我们正试图跨多个登录页面发布。我们将值发送到按钮单击“lp-pom-button-3”上的隐藏字段。

但是,ID 会因页面而异,但始终采用“lp-pom-button-”格式,其编号可能会因页面而异。 SQL中是否有类似'like'的功能,或者说任何以'lp-pom-button-'开头或包含'lp-pom-button-'的按钮才能触发?谢谢你的帮助!

<script type="text/javascript">
document.getElementById('lp-pom-button-3').addEventListener(
'click', function(event) {
  ga(function() { 
    var tracker = ga.getAll()[0];
    var clientId = tracker.get('clientId');
    document.getElementById('GACLIENTID').value = clientId;
    var userId = tracker.get('userId'); 
    document.getElementById('GAUSERID').value = userId; 
  });
});

【问题讨论】:

  • document.querySelectorAll("[id^=lp-pom-button]").forEach(function() {... }) - jQuery 中可以使用相同的选择器
  • 避免在 cmets 中回答问题。
  • @dlatikay 没有。这个问题是重复的,所以我在寻找受骗者以避免答案时发布了一个建议 - Titue 没有看到我的评论

标签: javascript jquery


【解决方案1】:

您可以使用 css 选择器来包含属性值。

[id*="lp-pom-button-"]

或属性值以:

开头
[id^="lp-pom-button-"]

在 vanilla javascript 中,您可以使用带有 querySelector 的 css 选择器访问元素或获取元素列表 querySelectorAll

这是一个例子:

document.querySelector('[id^="lp-pom-button-"]');

HERE是所有支持该功能的浏览器和浏览器版本的列表。

【讨论】:

  • OP 正在使用getElementById。可能需要具体说明您在此处调用的方法。
  • 查看问题下的评论
猜你喜欢
  • 2021-09-06
  • 1970-01-01
  • 2011-05-07
  • 1970-01-01
  • 2011-04-28
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-13
相关资源
最近更新 更多