警报(getElementById)jquery等价物

时间:2014-07-03 21:29:22

标签: javascript jquery

所以我知道一些javascript,但我正在尝试学习jquery,这似乎相当容易一些。我只想尝试一件简单的事情,如下:

alert( document.getElementById("email").getAttribute('placeholder') );

现在显然jquery可以使用css选择器,所以我认为以下方法可行:

alert( $("#email").getAttribute('placeholder') );

但事实并非如此。我究竟做错了什么?这可能是一个简单的答案,但从搜索周围我似乎无法找到它。你或许可以说我是一个绝对的初学者。

3 个答案:

答案 0 :(得分:4)

jQuery函数(简称$)返回匹配元素的集合,因此您必须得到第一个这样的项目:

alert( $("#email")[0].getAttribute('placeholder') );

或者您可以使用.attr功能:

alert( $("#email").attr('placeholder') );

答案 1 :(得分:3)

您在此处使用$()而非JavaScript对象创建jQuery对象。 document.getElementById()会为您创建一个JavaScript对象。

这样才能胜任

alert( $("#email").getAttribute('placeholder') ); 

它会尝试认为传递的对象是一个JavaScript对象,但代码中的错误并非如此。

您可以将该代码更改为

alert( $("#email").attr('placeholder') );

现在,这将从文档中获取jQuery对象的attr属性。 attr是一个jQuery方法,可以为jQuery对象的某些属性获取某些值。

http://api.jquery.com/attr/

答案 2 :(得分:1)

使用此:

alert( $("#email").attr('placeholder') );
// or
alert( $("#email").prop('placeholder') );

新:示例jsFiddle

编辑:

有一个prop jquery函数,例如,如果您使用font来查看是否选中了该元素:

让我们说你有这样的html <input type="checkbox" checked="checked" />

$( elem ).prop( "checked" ) // return true or false
$( elem ).attr( "checked" ) // return "checked" if there is that attribute

这是valuechecked属性的行为,在其他情况下,它与attr函数的行为相同。