【问题标题】:Add ID to Button in Javascript在Javascript中将ID添加到按钮
【发布时间】:2013-01-06 00:48:18
【问题描述】:

我目前正在尝试找到一种方法来使用 javascript 注入将 ID 添加到 html 按钮。 html很简单,看起来像这样:

<button type="submit" class="submit btn primary-btn" tabindex="4">Sign in</button>

现在,如您所见,它没有 ID 或名称,因此在 Python 中使用 spynner 有点难以找到。我可以注入什么 javascript 来为这个脚本添加一个 ID?是否会让 javascript 搜索整个字符串,然后用添加的 ID 替换整个字符串?还是有更好的办法?

【问题讨论】:

  • 使用jquery选择元素然后使用$(selector).attr('id', 'value');添加 ID
  • 页面上是否只有一个按钮带有文字Sign in 或按钮独有的任何内容?
  • 正确的解决方案是通过在源头分配一个 ID 来使 button 具有唯一性。

标签: javascript jquery python html spynner


【解决方案1】:

为了确保 html 的完整性,我建议:

$('.submit.btn.primary-btn').eq(0).attr('id', 'foobar');

【讨论】:

  • 不需要那个 if 语句。 $('.submit.btn.primary-btn').eq(0).attr('id', 'foobar'); 即使没有元素也能正常工作。
  • 这个最适合我,eq 选择器让它变得如此简单。谢谢! :D
  • 很高兴它对您有所帮助 :-) 当您需要访问选择器中的特定索引时,eq 非常有用
【解决方案2】:
$(".submit.btn.primary-btn").attr("id", "foobar");

【讨论】:

  • 这只有在 button 是这些类的唯一元素时才有效。
  • @BlakePlumb:不,它总是“工作”。它只会影响其他元素。
【解决方案3】:

如果您真的想确保只影响该元素,请执行以下操作:

$('button[tabindex="4"]').attr('id', 'value');

顺便说一句,在运行时添加 ID 没有多大意义:如果您可以引用元素,则不再需要该属性。

【讨论】:

  • 这如何使它“确定”?
  • 我很确定 tabindex 应该是独一无二的 - 好吧,那么它只是“极有可能”:PP
  • 只要表单中有 4 个输入,它就可以工作,过滤 [type="submit"] 属性会更安全吗?
猜你喜欢
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
  • 2011-08-25
  • 2021-06-18
  • 1970-01-01
相关资源
最近更新 更多