我有3个具有相同ID的按钮,当他被点击时,我需要获取每个按钮的值。
<button id="xyz" type="button" class="btn btn-primary" value="1">XYZ1</button>
<button id="xyz" type="button" class="btn btn-primary" value="2">XYZ2</button>
<button id="xyz" type="button" class="btn btn-primary" value="3">XYZ3</button>
这是我当前的jQuery
脚本:
$("#xyz").click(function(){
var xyz = $(this).val();
alert(xyz);
});
但这仅适用于第一个按钮,单击其他按钮将被忽略。
我有3个具有相同ID的按钮…
您的HTML无效,同一页面中的元素不能超过一个id
。
引用规格:
7.5.2 元素标识符:id和class属性
id =名称[CS]
此属性为元素分配名称。此名称在文档中必须唯一。
解决方案 :从更改id
为class
,
<button type="button" class="btn btn-primary xyz" value="1">XYZ1</button>
<button type="button" class="btn btn-primary xyz" value="2">XYZ2</button>
<button type="button" class="btn btn-primary xyz" value="3">XYZ3</button>
和 jQuery代码 :
$(".xyz").click(function(){
alert(this.value);
// No need for jQuery :$(this).val() to get the value of the input.
});
但这仅适用于第一个按钮
jQuery #id
选择器文档:
每个id值在文档中只能使用一次。 如果为多个元素分配了相同的ID,则使用该ID的查询将仅选择DOM中的第一个匹配元素。
但是,不应依赖此行为。包含多个使用相同ID的元素的文档无效。
如果您查看jQuery源,则可以看到$
使用id selecor-($("#id")
)进行调用时,jQuery会调用本机javascript
document.getElementById
函数:
// HANDLE: $("#id")
} else {
elem = document.getElementById( match[2] );
}
尽管在他们的规范中document.getElementById
没有提到它必须返回第一个值,但这是大多数(也许是全部?)浏览器实现它的方式。
问题内容: 是否有一种方法可以根据将class属性的值设置为两个特定的类来选择CSS元素。例如,假设我有3个div: 基于它是foo AND bar类的成员,我可以写什么CSS来选择列表中的第二个元素? 问题答案: 链接两个类选择器(之间没有空格): 如果仍然需要处理IE6之类的古老浏览器,请注意,它无法正确读取链接的类选择器:无论您列出什么其他类,它都只会读取 最后一个 类选择器(在这种情况下)
问题内容: 如何从这样的列表中选择仅父级的链接元素? 所以在css中,但不是 谢谢 问题答案: 但是,如果您要专门针对最外层的ul,则需要在根ul上设置一个类: 然后是: 确保您只有root li元素的另一种方法: 它看起来很笨拙,但可以解决问题
问题内容: 我试图在ID或类’B’的元素中选择类’A’的第一个元素。我尝试了> +和第一个子选择器的组合,因为它不是类元素’B’中的第一个元素。它起作用了,但是…我试图覆盖一些默认的CSS,并且我无法控制服务器端,似乎类’A’元素有时在不同的位置生成。这是一个例子: 有时,“ B”类的名称有所不同,“ A”之前的元素也有所不同。那么,有什么方法可以选择元素“ C”中首次出现的“ A”吗?因为“ C
问题内容: 我有一堆带有类名的元素,但是我似乎无法使用以下CSS规则选择第一个元素: 该选择器有什么问题,我该如何纠正? 多亏了这些评论,我才知道该元素必须是其父元素的第一个子元素才能被选中,而事实并非如此。我具有以下结构,并且该规则失败,如注释中所述: 我该如何针对上课的第一个孩子? 问题答案: 这是作者误解工作方式的最著名例子之一。在CSS2介绍,该伪类表示其父的第一个孩子。而已。有一个非常普
不幸的是,这是一个学校的项目,大多数变量都是用我的母语编写的,如果需要的话,我会翻译任何变量,但保留代码原样,以防出现问题。 我正在为餐饮服务制作一个web应用程序,后端使用Java servlet,前端使用JSP。 会话存储具有哈希映射的Order对象 这按预期工作。标签值之一填充了来自之前输入的数字的onchange调用。 对于哈希表中自动生成的每一行,这也很有效。就我所见,点击其中任何一个上
问题内容: 我对CSS选择器有疑问。仅当在具有类名的a中时,如何选择具有特定类名的a ?这个CSS类在其他地方使用,我不想在任何地方更改样式。 问题答案: 只需在父元素和后代元素之间使用CSS后代选择器(空格)即可: 在这种情况下,仅适用于Class的规则,前提是其祖先是该Class的规则。相反,您可以使用直接子组合器,但是您必须指定与每个父/祖先的关系,直到需要其类的父子/祖先,这可能很难维护C