我可以在jquery中使用这样的吗?
$(this+"#id").html(...);
或其他任何方法
我有这样的情况可以像这样使用。我的代码在下面给出
html代码
<div id="box1">
<div ></div>
</div>
css代码是
#box1 {
width:300px;
height:200px;
border:1px solid #333;
}
#box1 div
{
width:200px;
height:150px;
border:1px solid #999;
margin:auto;
margin-top:10px;
}
Jquery代码是
$(document).ready(function()
{
$("#box1").mouseenter(function()
{
$(this+"div").html("<p>Mouse entered</p>");
}); });
请参阅jsfiddle
中的代码答案 0 :(得分:4)
$(document).ready(function() {
$("#box1").mouseenter(function() {
// $(this) references the #box1 element, and turns it into a jquery object
// .find searches inside this DOM node for the new selector
$(this).find("div").html("<p>Mouse entered</p>");
});
});
.find method - 在DOM元素内搜索新的选择器。将匹配作为jQuery对象返回。
我重新格式化了您的代码,以使用我们在工作中使用的约定。请注意,打开的curlies在同一行上,然后匹配的close将缩减到其开放级别。有很多“最佳实践”,所以试着找到一个并坚持下去。它将使阅读,理解和调试代码变得更加容易。
答案 1 :(得分:3)
你可以add context in your query这样:
$('selector', context)
所以你的使用:
$('div', this)
您也可以像find method那样使用:
$(this).find('div');
答案 2 :(得分:1)
试试这个:
$(document).ready(function()
{
$("#box1").mouseenter(function()
{
$("div", this).html("<p>Mouse entered</p>");
});
});
这是jsFiddle
答案 3 :(得分:1)
尝试使用
$(this).find("div").html("<p>Mouse entered</p>");