【发布时间】:2013-08-22 05:03:46
【问题描述】:
好的,这就是我的问题(一定很简单,但我仍然无法解决这个问题)...
我有一个示例 HTML 代码,如下所示:
<!-- New Website #1 -->
<!DOCTYPE html>
<html style='min-height:0px;'>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1">
<link rel="stylesheet" href="jquery.mobile.min.css" />
<link rel="stylesheet" href="custom.css" />
<link rel="stylesheet" href="dev.css" />
</head>
<body id="jqm-website-6926" class="" >
<!-- New Page #1 -->
<div data-role="page" comp-id="jqm-page-6271" id="jqm-page-6271" class="" data-add-back-btn="false" data-back-btn-text="" data-back-btn-theme="" data-dom-cache="false" data-theme="" data-title="" >
<!-- New Header #1 -->
<div data-role="header" comp-id="jqm-header-364" id="jqm-header-364" class="" data-position="" data-fullscreen="false" data-theme="" >
<h1></h1>
</div>
<!-- / New Header #1 -->
<!-- New Content #1 -->
<div data-role="content" comp-id="jqm-content-3537" id="jqm-content-3537" class="" data-theme="" >
<!-- New Button #1 -->
<div comp-id="jqm-button-1547" >
<a data-role="button" id="jqm-button-1547" class="" data-corners="true" data-icon="" data-iconpos="left" data-iconshadow="true" data-inline="false" data-mini="false" data-shadow="true" data-theme="" href="#" data-transition="(null)">
</a>
</div>
<!-- / New Button #1 -->
</div>
<!-- / New Content #1 -->
</div>
<!-- / New Page #1 -->
<!-- New Page #1 -->
<div data-role="page" comp-id="jqm-page-9207" id="jqm-page-9207" class="" data-add-back-btn="false" data-back-btn-text="" data-back-btn-theme="" data-dom-cache="false" data-theme="" data-title="" >
</div>
<!-- / New Page #1 -->
<script src="jquery.min.js"></script>
<script src="jquery.mobile.min.js"></script>
<script src="custom.js"></script>
<script src="dev.js"></script>
</body>
</html>
<!-- / New Website #1 -->
我想要做的就是单击具有comp-id 属性集的特定元素时 - 我们突出显示(通过添加msp-selected 类)仅该特定元素。 p>
但是,这不起作用...
这是我尝试过的:
function removeAll()
{
$("[comp-id]").each(function() {
if ($(this)!==undefined) {
$(this).removeClass("msp-selected");
}
});
}
$(document).ready( function() {
$('[comp-id]:not(.msp-selected)').on('click', function(e) {
removeAll();
$(this).addClass('msp-selected');
});
});
但是,问题来了:
- 点击按钮时 (
comp-id="jqm-button-1547") - 它突出显示:a) 首先是按钮,b) 然后是
jqm-content-3537,c) 然后是jqm-page-6271 - 简而言之,最后突出显示的是“页面”,而不是按钮。
有什么想法吗?
这是一个小提琴: http://jsfiddle.net/CTZD3/
【问题讨论】:
-
你之前不是也问过这个问题吗? ;) 只是问,因为我认为你在那个问题上不够清楚
-
@AdityaSaxena 好吧,我做到了。我只是重新发布,因为我想我现在知道如何正确地......表达它,真正的问题是......;-)
-
酷...我只是在检查那个响应发生了什么
-
您是否尝试将事件标记为已处理?
-
if ($(this)!==undefined) {这是天经地义的真实条件。
标签: javascript jquery html css