所以我知道一些javascript,但我正在尝试学习jquery,这似乎相当容易一些。我只想尝试一件简单的事情,如下:
alert( document.getElementById("email").getAttribute('placeholder') );
现在显然jquery可以使用css选择器,所以我认为以下方法可行:
alert( $("#email").getAttribute('placeholder') );
但事实并非如此。我究竟做错了什么?这可能是一个简单的答案,但从搜索周围我似乎无法找到它。你或许可以说我是一个绝对的初学者。
答案 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对象的某些属性获取某些值。
答案 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
这是value
或checked
属性的行为,在其他情况下,它与attr
函数的行为相同。