【问题标题】:How to click a save as html link with changing ID's?如何单击更改 ID 的另存为 html 链接?
【发布时间】:2015-05-15 13:52:24
【问题描述】:

我知道如何使用 javascript 点击链接,

document.getElementById('yourLinkID').click();

但是,如果您的 ID 一直在变化,或者您不确定自己的 ID 会是什么,该怎么办?我有一个 html 链接,它从数据网格自动生成到一个 excel 文件中,一旦我点击它会给我一个链接“CLICK”,然后它将保存到您的文件中。任何想法或任何其他方式单击 html 链接?

这是一个示例 html:

<a href="getyourfile..." id="myIdIsAlwaysChanging-1234">Click</a>

【问题讨论】:

  • 你可以使用类。
  • 链接没有类,它只是一个带有自动生成ID的href链接。
  • 请添加示例html代码
  • 你是如何生成 html 链接的?可以分享一下代码吗?

标签: javascript c# html extjs


【解决方案1】:

您可以对此类按钮使用类,但是当您选择 $('.class-name') 时,您可能会导致点击多个链接。

其他解决方案是遍历 DOM(即使用 jQuery) https://api.jquery.com/category/traversing/tree-traversal/

您可以使用此功能在元素之间移动:

$( "li" )
  .closest( "ul" )

【讨论】:

  • 那么你怎么知道你应该点击哪个链接呢?以名称开头?
  • 我一次只会点击一次,问题是,不能使用 id,因为 id 总是在变化,或者不确定 id 会是什么。所以也许找到我的名字字符串?
  • 要点击某物,您必须先找到某物。您可以向链接添加一些自定义属性并按此属性进行搜索。或者您可以搜索 DOM(survoc 示例)
  • 你不能只通过“点击”这个词找到它并对该字符串执行点击方法吗?
  • 您可以使用 api.jquery.com/contains-selector ,但这不是最好的主意。您应该按属性、类或 id 选择元素
【解决方案2】:

如果你只有一个这样的元素,你可以使用 querySelector 函数:

document.querySelector('[id^=myIdIsAlwaysChanging]').click();

如果您有多个元素,则需要使用 document.querySelectorAll 并遍历列表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    相关资源
    最近更新 更多