document.getElementsByName对我不起作用?

时间:2014-02-14 22:03:21

标签: javascript jquery automation click getelementsbyname

我正在使用tampermonkey创建一个脚本,它会自动点击一个元素。 当我在chrome中检查时,我试图点击的元素是这样的:

<span id="result_5_name" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Navy</span>

¨

我尝试制作的脚本是这样的:

function detectandclick {
    var item = document.getElementsByName('Item | Anodized Navy');

    item[0].click();
}

我是编程新手,所以这里可能存在一些问题。

PS:我不想使用getElementsById或类,我需要通过网页上显示的名称来获取元素。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

将您的HTML更改为:

<span id="result_5_name" name="result_5_name" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Navy</span>

现在,下面的代码段将起作用:

function detectandclick {
  var item = document.getElementsByName('result_5_name');

  item[0].click();
}

答案 1 :(得分:0)

getElementsByName()返回匹配项数组的元素,因此您可以使用索引访问数组的特定项。像

function detectandclick {
    var item = document.getElementsByName('somename')[0].click();
}

<span id="result_5_name" name="somename" class="market_listing_item_name" style="color: #FFD700;">Item | Anodized Navy</span>

有关getElementsByName()

的更多信息