我应该得到一个"警报"在下列情况下,但我没有得到任何"警报"。我正在尝试jQuery.Contains()
的简单示例。
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
var alpha = $.contains('body','p') {
alert(alpha);
});
</script>
</head>
<body>
<p>This is a paragraph.</p>
</body>
</html>
答案 0 :(得分:9)
根据jQuery documentation,API只接受元素节点(不是JavaScript / jQuery 对象或选择器)
检查 DOM元素是否是另一个 DOM元素的后代。
仅支持元素节点;如果第二个参数是文本或 注释节点,$ .contains()将返回false。
注意:第一个参数必须是DOM元素,而不是jQuery对象或纯JavaScript对象。
您应该将代码更改为
$(function () {
alert($.contains(document.body, $("p")[0])) //alerts true
alert($.contains(document.body, document.getElementsByTagName("p")[0])); //alerts true
})
答案 1 :(得分:1)
jQuery.contains 只返回
$(document).ready(function(){
alert($.contains(document.body,$('p')[0]));
});
答案 2 :(得分:1)
试试这个:
$(document).ready(function(){
var alpha = $.contains(document.body,$("p")[0])
if (alpha) {
alert(alpha);
}
});
参数总是DOM元素,而不是简单的文本。
有关详细信息,请参阅this.
答案 3 :(得分:0)
Use this code you have error on this line (var alpha = $.contains('body','p'){)
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
var alpha = $.contains('body','p');
alert(alpha);
});
</script>
</head>
<body>
<p>This is a paragraph.</p>
</body>
</html>