2012-09-01 64 views
26

如何使用javascript或jquery获取自定义属性的值?使用Javascript或jquery获取自定义属性的值

<strong id="the id" original-title="I NEED THIS"> 

我试着.getAttribute() and attr() ..(Javascrupt & jQuery的),没有成功的任何想法?

+0

让我们看看标记呢? – adeneo

+2

希望你的ID在中间没有空间? – adeneo

+0

是不存在空格 – stiffle

回答

41

不要在ID使用空间获得的价值。

并添加自定义属性使您的HTML无效。使用data-attributes代替:

<strong id="the_id" data-original-title="I NEED THIS"> 

$('#the_id').data('original-title'); 

http://jsbin.com/akoyut/2/edit

0

您可以通过以下语法

$('#theid').attr('original-title'); 
+2

使用jquery ..我试了一下,但它返回null – stiffle

0
$('#the<remove space from here>id').attr('original-title'); 
0

下面是一个工作示例:

的Javascript:

$(document).ready(function() {  
    var title = $("#the_id").attr("original-title"); 
} 

HTML:

<strong id="the_id" original-title="I NEED THIS"></strong> 
1

如果一个id,你必须使用空间,检索元素和属性值是这样的:

$('[id="the id"]').attr([some attribute string]); 
//or 
$('#the\\ id').attr([some attribute string]); 

对于自定义属性,最好使用HTML5 data-[somelabel]属性,它是向后兼容和标准化。所以你的情况是这样的:

<strong id="the id" data-originalTitle="I NEED THIS"> 

Read more about data-attributes

+0

+1我从来不知道我们可以使用\\转义 – Moons

24

改变 “ID” 到 “the_id”。

document.getElementById("the_id").getAttribute("original-title"); 
15

最佳途径使用这样的:

可以使用普通的JavaScript它做

jQuery(this).attr('original-title'); 
+0

这不会工作... – Shubh

+0

这工作正常。我已经检查过了。 –

+0

在谷歌浏览器中正常工作。 – alexander

2
a var DateofEvent = $('[data-original-title=I NEED THIS]').val(); 
相关问题