如何获取ID和Name未定义的自定义属性的值? - JQuery

时间:2015-05-07 16:20:43

标签: javascript jquery html css

如何通过JQuery获取Markup元素的Custom属性值,其ID和Name未定义。

<div questionId="Question_1.1"></div>

我尝试了以下但每次都未定义:

$("input[questionId]").val();
$("#questionId").val();
$("input[questionId]").val();

在页面加载时,我想改变这个div的不透明度。

2 个答案:

答案 0 :(得分:3)

这不是nil

<input>

如果您想获取属性$("div[questionId]").html(); 的值,请使用questionId

attr

要考虑另一件事,但在HTML5中,自定义属性无效,除非它以$("div[questionId]").attr('questionId'); 开头,例如data-

  

数据属性名称必须至少为一个字符长,并且必须以“data-”为前缀。它不应包含任何大写字母。

Source

JSFiddle Demo

编辑:如果你有多个div,请回复你的评论,使用jQuery data-questionid

.each()

JSFiddle Demo

答案 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>