如何通过JQuery获取Markup元素的Custom属性值,其ID和Name未定义。
<div questionId="Question_1.1"></div>
我尝试了以下但每次都未定义:
$("input[questionId]").val();
$("#questionId").val();
$("input[questionId]").val();
在页面加载时,我想改变这个div的不透明度。
答案 0 :(得分:3)
这不是nil
:
<input>
如果您想获取属性$("div[questionId]").html();
的值,请使用questionId
:
attr
要考虑另一件事,但在HTML5中,自定义属性无效,除非它以$("div[questionId]").attr('questionId');
开头,例如data-
。
数据属性名称必须至少为一个字符长,并且必须以“data-”为前缀。它不应包含任何大写字母。
编辑:如果你有多个div,请回复你的评论,使用jQuery data-questionid
:
.each()
答案 1 :(得分:0)
您可以使用jQuery选择div:
var div = $('div[questionId="Question_1.1"]');
因此,如果在文本输入中输入div questionId
,您可以获取输入值并选择适当的div,如下所示:
// get the input value:
var id = $('input').val();
var div = $('div[questionId="' + id + '"]');
// jQuery's "fade" function fadeTo()
div.fadeTo("slow", 0.5);
div{
height: 100px;
width: 100px;
background-color: steelblue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" value="Question_1.1" />
<div questionId="Question_1.1">Question 1.1</div>