我希望在单击按钮后使用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>
答案 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"));
});
});
答案 4 :(得分:0)
id应该是唯一的。不建议在html文档中使用重复的id。 如果你想继续你的旧代码仍然如此。
你也可以这样做
document.querySelectorAll('p[id=name]')[0]
答案 5 :(得分:0)
非常糟糕的做法。
两个单独的元素不应包含相同的ID或名称。应用类名并通过类名迭代(使用每个或映射)。有很多方法可以做到这一点(我已经在这里看到了一些可靠的例子)。然后,使用data属性为每个元素存储唯一数据。