gpt4 book ai didi

html - jQuery 选择器间歇性工作,为什么?

转载 作者:搜寻专家 更新时间:2023-10-31 21:53:19 24 4
gpt4 key购买 nike

我只是想操作#content div 中的元素,但$('#content') 似乎不起作用,但在其他地方确实如此!我的相关代码很简单:

HTML

<body>
<input type='button' value='Save design' id='save' />
<div id="content" style="height: 200px; width:600px;border: 1px solid black;" class='whatev'></div>
</body>

脚本

$(document).ready(function(){   
$('#save').click(function(e){
alert( document.getElementById('content').id); // this works!
alert($("#content").length); // this works! it outputs "1"
alert($("#content").id); // this does NOT work - undefined, why?
//end save function
});

$('#content').click(function(e){
// do stuff // ALL of this works!
});
});

就是这样。如果您注意到,它在某些地方确实有效(绑定(bind)到它的整个点击功能非常好),但在它不起作用的地方,奇怪的是它仍然存在,因为 length = 1。我也尝试使用上下文来搜索 div,以防万一(使用 $('#content','body')),但没有用。

最佳答案

DOM 元素和包含 DOM 元素的 jQuery 选择之间存在差异。 jQuery 选择是 DOM 对象的包装器,使其更易于使用。它没有 id 属性,但 DOM 元素有。另一方面,jQuery 确实提供了一种使用 attr 访问元素属性的方法。方法:

document.getElementById('content').id // access the id property of a DOM element
$('#content').attr('id') // use jQuery to select the element and access the property

但是,length 属性是由 jQuery 选择提供的,这就是它适合您的原因。

关于html - jQuery 选择器间歇性工作,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12158457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com