点击具有特定“rel”的li:纯javascript,没有jquery

时间:2014-05-25 04:39:38

标签: javascript html

我必须完全使用JavaScript(jQuery禁止)脚本。我只能使用' click()'功能

我必须模拟点击" li"它有一个运动鞋网站的随机属性。

向您展示:

  1. 用户点击" mega菜单"哪个显示(点击)不同的尺寸。
  2. 用户在该菜单中选择他的尺寸
  3. 我告诉你"代码" html大菜单。在这篇文章中," LZAE31"是ID产品。

    <ul class="theUlClass" style="display:none">
        <li class="theLiClass" rel="LZAE31:40">EU 40</li>
        <li class="theLiClass" rel="LZAE31:41">EU 41</li>
        <li class="theLiClass" rel="LZAE31:42">EU 42</li>
        <li class="theLiClass" rel="LZAE31:43">EU 43</li>
    </ul>
    

    想象一下,用户已经在网站上买了东西,他的尺寸是42欧盟。 脚本是90%正常(用户已经购买的东西),但现在我需要&#34;模拟&#34;点击一下。

    例如,脚本的结尾有效,它是:

    document.getElementsByClassName("addtocart")[0].click();
    

    所以我真的需要你,要了解我如何点击&#34; rel =&#34; RANDOM:42&#34;在li.LiClass例如...

2 个答案:

答案 0 :(得分:0)

尝试:

首先选择元素:

使用选择器:

document.querySelector("[rel='LZAE31:40']")
// try like: console.log(document.querySelector("[rel='LZAE31:40']"));

或使用此功能:

function specificRel( rel )
{
    var items = document.getElementsByTagName('li');
    for (var i=0; i<items.length; i++) {
        if (items[i].getAttribute("rel") == rel) {
            return items[i];
        }
    }
}
// try like: console.log(specificRel("LZAE31:40"));

两个,点击:

使用选择器:

document.querySelector("[rel='LZAE31:40']").click();

或使用功能:

specificRel("LZAE31:40").click();

答案 1 :(得分:0)

有点不清楚你在问什么,但我会试一试。使用rel=LZAE31:43获取LI元素是微不足道的。

for( var a= document.getElementsByTagName('li'),i= 0; i < a.length; ++i )
  if( a[i].getAttribute('rel') == 'LZAE31:43' )
    break;