我想在它周围用div(类“parent”)包装div(类“root”)。成功包装,但在环绕类“root”后尝试找到带有“.hasClass”函数的“父”类时,它返回'false'。查看此示例代码。据我说,它必须是“真实的”。问题出在哪里?
$(document).ready(function(){
$(".root").wrap("<div class='parent'></div>");
alert($(document).hasClass("parent"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="root">123</div>
答案 0 :(得分:2)
检查每个线路描述的脚本
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if ("android.intent.action.VIEW".equals(getIntent().getAction())) {
// This Activity is started using an external app (eg: Gmail)
// So start the app from the beginning
// (redirecting to Activity A)
Intent mainIntent = getIntent(); // Copy the Intent used to launch me
// Launch the real root Activity (launch Intent)
mainIntent.setClass(this, StartActivity.class);
// Post an event to kill all existing activities
// To do this i use Guava
PubSub.getInstance().post(new KillActivityEvent());
startActivity(mainIntent);
finish();
} else {
// The activity wasn't started by an external app
finish();
}
}
$(document).ready(function(){
$(".root").wrap("<div class='parent'></div>");
//alert($(document).hasClass("parent"));
alert($(".parent").html()); //<-- Change the selector target
alert($(".parent").length ? true : false); // get the existances
});
答案 1 :(得分:0)
$(document).hasClass("parent")
会检查parent
元素上是否存在document
类。它没有名为parent
的类,因此返回false。
您应该检查jQuery对象的长度,例如$('.parent').length
$(document).ready(function() {
$(".root").wrap("<div class='parent'></div>");
alert($('.parent').length);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="root">123</div>
答案 2 :(得分:0)
查看生成的HTML:
在:
<body>
<div class='root'>123</div>
</body>
代码:
$(".root").wrap("<div class='parent'></div>")
结果:
<body>
<div class='parent'>
<div class='root'>123</div>
</div>
</body>
现在,应该很清楚调用$("body").hasClass(".parent")
将是假的,这是因为.hasClass
检查如果元素本身具有该类,而不是它下面的任何元素具有类< / strong> - 在上面的示例中,“body”不是<body class='parent'>
,因此$("body").hasClass(".parent")
为false。
同样适用于“文件”,其中文件在“正文”之上 - .parent
已添加到文件/正文中,而不是文件/正文。
如何找到.parent存在?
您可以使用返回数组的.find
,以便与.length>0
进行比较,例如
if ($(document).find(".parent").length > 0)
或简单地说:
if ($(".parent").length > 0)