如何使用id在javascript中获取多个标签的值?

时间:2015-08-03 11:15:25

标签: javascript jquery html

我希望在单击按钮后使用id获取html文件中两个 for view in self.view.subviews as! [UIView] { if let btn = view as? UIButton { if btn.title == "whateverYourCriteriaIs" { //your code } else { //do something else } } } 元素的名称。但在我的代码中,当我点击按钮时,我只输出“打印”。我怎样才能做到这一点?

这是我的HTML代码:

<p>

这是我的javascript代码:

<p id="name" name="print">hey</p>     
<p id="name" name="this">hey</p>     
<button id="btn11">test11</button>

6 个答案:

答案 0 :(得分:4)

ID在HTML中应该是唯一的。而不是像这样使用id

HTML:

<p class="name" name="print">hey</p>     
<p class="name" name="this">hey</p>     
<button id="btn11">test11</button>

jquery的:

$("#btn11").click(function(){
   var getName = $(".name").map(function() { 
        return $(this).attr("name");
    }).get();
    console.log(getName);
});

答案 1 :(得分:4)

使用class而不是ID和

<p class= "name" name = "print">hey</p>

<p class= "name" name = "this">hey/p>

<button id="btn11">test11</button>

$("#btn11").click(function(){ 
  $('.name').each(function () {
   alert( $(this).attr('name'));
  }); 
});

答案 2 :(得分:2)

id在html中应该是唯一的。您应该使用class属性:

<p class="name" data-name="print">hey</p>
<p class="name" data-name="this">hey</p>
<button id="btn11">test11</button>

$("#btn11").click(function(){
    $.each($(".name"), function(i, v) {
        console.log($(v).data("name"))
    })
});

此外,name不是<p>标记的属性。见Element.name

答案 3 :(得分:1)

您不应该在HTML中使用重复ID,但是您仍然希望使用相同的代码,这是可以按预期工作的代码

$("#btn11").click(function () {
    $("p[id='name']").each(function (e) {
        alert($(this).attr("name"));
    });
});

DEMO HERE

答案 4 :(得分:0)

id应该是唯一的。不建议在html文档中使用重复的id。 如果你想继续你的旧代码仍然如此。

你也可以这样做

document.querySelectorAll('p[id=name]')[0]

答案 5 :(得分:0)

非常糟糕的做法。

两个单独的元素不应包含相同的ID或名称。应用类名并通过类名迭代(使用每个或映射)。有很多方法可以做到这一点(我已经在这里看到了一些可靠的例子)。然后,使用data属性为每个元素存储唯一数据。