- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
<span class="fileactions">
<a href="#" class="action" data-action="Download" original-title="">
<img class="svg" src="/login/owncloud/core/img/actions/download.svg"> Download
</a>
<a href="#" class="action" data-action="Share" original-title="">
<img class="svg" src="/login/owncloud/core/img/actions/share.svg"> Share
</a>
</span>
类文件操作包含 2 个链接元素。我想删除第二个。
我试过用这个:
.fileactions a:nth-child(2) {
display:none;
}
.fileactions [data-action="Share"] {
display: none;
}
但这些都不起作用。
我正在使用 owncloud,并希望在以用户身份登录时隐藏共享文件的选项。
这是 PAGE SOURCE
<!DOCTYPE html>
<!--[if lt IE 7]><html class="ng-csp ie ie6 lte9 lte8 lte7"><![endif]-->
<!--[if IE 7]><html class="ng-csp ie ie7 lte9 lte8 lte7"><![endif]-->
<!--[if IE 8]><html class="ng-csp ie ie8 lte9 lte8"><![endif]-->
<!--[if IE 9]><html class="ng-csp ie ie9 lte9"><![endif]-->
<!--[if gt IE 9]><html class="ng-csp ie"><![endif]-->
<!--[if !IE]><!--><html class="ng-csp"><!--<![endif]-->
<head data-user="jhinton@lpc.com" data-requesttoken="80b052824521ca02c51b">
<title>
Files | ownCloud (jhinton@lpc.com) </title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="apple-itunes-app" content="app-id=543672169">
<style>
#content #controls{
display:none;
}
.fileactions > a[data-action="Share"] {
display:none; !important;
}
</style>
<link rel="shortcut icon" href="/login/owncloud/core/img/favicon.png" />
<link rel="apple-touch-icon-precomposed" href="/login/owncloud/core/img/favicon-touch.png" />
<link rel="stylesheet" href="/login/owncloud/remote.php/core.css?v=e36258b3c74f08054a974a5fe1703f9c" type="text/css" media="screen" />
<link rel="stylesheet" href="/login/owncloud/index.php/apps/files/css/files.css?v=e36258b3c74f08054a974a5fe1703f9c" type="text/css" media="screen" />
<script type="text/javascript" src="/login/owncloud/index.php/core/js/config.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/remote.php/core.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/apps/files/js/file-upload.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/apps/files/js/jquery.iframe-transport.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/apps/files/js/jquery.fileupload.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/apps/files/js/jquery-visibility.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/apps/files/js/filelist.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/apps/files/js/fileactions.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/apps/files/js/files.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
<script type="text/javascript" src="/login/owncloud/apps/files/js/keyboardshortcuts.js?v=e36258b3c74f08054a974a5fe1703f9c"></script>
</head>
<body id="body-user">
<div id="notification-container">
<div id="notification"></div>
</div>
<header><div id="header">
<a href="/login/owncloud/index.php" title="" id="owncloud"><img class="svg"
src="/login/owncloud/core/img/logo-wide.svg" alt="ownCloud" /></a>
<div id="logo-claim" style="display:none;"></div>
<ul id="settings" class="svg">
<span id="expand">
<span id="expandDisplayName">jhinton@lpc.com</span>
<img class="svg" src="/login/owncloud/core/img/actions/caret.svg" />
</span>
<div id="expanddiv">
<li>
<a href="/login/owncloud/index.php/settings/personal" title=""
>
<img class="svg" alt="" src="/login/owncloud/settings/img/personal.svg">
Profile </a>
</li>
<li>
<a id="logout" href="/login/owncloud/index.php?logout=true">
<img class="svg" alt="" src="/login/owncloud/core/img/actions/logout.svg" />
Log out </a>
</li>
</div>
</ul>
<form class="searchbox" action="#" method="post">
<span style="color:white; position:absolute; right:40%; padding-top:8px; font-weight:bold; font-size:16px;">Green Cleaning Monthly Reports - TQ to You</span><input id="searchbox" class="svg" type="search" name="query"
value=""
autocomplete="off" x-webkit-speech />
</form>
</div></header>
<nav><div id="navigation">
<ul id="apps" class="svg">
<li data-id="files_index">
<a href="/login/owncloud/index.php/apps/files" title=""
class="active">
<img class="icon svg" src="/login/owncloud/core/img/places/files.svg"/>
<span>
Files </span>
</a>
</li>
</ul>
</div></nav>
<div id="content-wrapper">
<div id="content">
<!--[if IE 8]><style>input[type="checkbox"]{padding:0;}table td{position:static !important;}</style><![endif]-->
<div id="controls" >
<div class="crumb" data-dir=''>
<a href="/login/owncloud/index.php/apps/files?dir=">
<img src="/login/owncloud/core/img/places/home.svg" class="svg" />
</a>
</div>
<div class="crumb last svg"
data-dir='/Shared'>
<a href="/login/owncloud/index.php/apps/files?dir=/Shared">Shared</a>
</div>
<div class="actions"><input type="button" disabled value="You don’t have write permissions here."></div>
<input type="hidden" name="dir" value="/Shared" id="dir">
<input type="hidden" name="permissions" value="9" id="permissions">
</div>
<table id="filestable" data-allow-public-upload="yes">
<thead>
<tr>
<th id='headerName'>
<input type="checkbox" id="select_all" />
<span class='name'>Name</span>
<span class='selectedActions'>
<a href="" class="download">
<img class="svg" alt="Download"
src="/login/owncloud/core/img/actions/download.svg" />
Download </a>
</span>
</th>
<th id="headerSize">Size</th>
<th id="headerDate">
<span id="modified">Modified</span>
<!-- NOTE: Temporary fix to allow unsharing of files in root of Shared folder -->
<span class="selectedActions"><a href="" class="delete-selected">
Unshare <img class="svg" alt="Unshare"
src="/login/owncloud/core/img/actions/delete.svg" />
</a></span>
</th>
</tr>
</thead>
<tbody id="fileList">
<input type="hidden" id="disableSharing" data-status="">
<tr data-id="120"
data-file="CD1029%201775%20I%20Street%20NE"
data-type="dir"
data-mime="httpd/unix-directory"
data-size='6318729'
data-permissions='17'>
<td class="filename svg"
style="background-image:url(/login/owncloud/core/img/filetypes/folder.png)"
>
<input type="checkbox" /> <a class="name" href="/login/owncloud/index.php/apps/files?dir=/Shared/CD1029%201775%20I%20Street%20NE" title="">
<span class="nametext">
CD1029 1775 I Street NE </span>
<span class="uploadtext" currentUploads="0">
</span>
</a>
</td>
<td class="filesize"
title="6 MB"
style="color:rgb(187,187,187)">
6.0 </td>
<td class="date">
<span class="modified"
title="December 3, 2013 09:23"
style="color:rgb(17,17,17)">
yesterday </span>
</td>
</tr>
<tr data-id="121"
data-file="CD1037%201015%2015th%20Street%20NW"
data-type="dir"
data-mime="httpd/unix-directory"
data-size='7704440'
data-permissions='17'>
<td class="filename svg"
style="background-image:url(/login/owncloud/core/img/filetypes/folder.png)"
>
<input type="checkbox" /> <a class="name" href="/login/owncloud/index.php/apps/files?dir=/Shared/CD1037%201015%2015th%20Street%20NW" title="">
<span class="nametext">
CD1037 1015 15th Street NW </span>
<span class="uploadtext" currentUploads="0">
</span>
</a>
</td>
<td class="filesize"
title="7.3 MB"
style="color:rgb(185,185,185)">
7.3 </td>
<td class="date">
<span class="modified"
title="November 15, 2013 10:04"
style="color:rgb(200,200,200)">
19 days ago </span>
</td>
</tr>
<tr data-id="156"
data-file="CD1113%202030%20M%20St"
data-type="dir"
data-mime="httpd/unix-directory"
data-size='6395172'
data-permissions='17'>
<td class="filename svg"
style="background-image:url(/login/owncloud/core/img/filetypes/folder.png)"
>
<input type="checkbox" /> <a class="name" href="/login/owncloud/index.php/apps/files?dir=/Shared/CD1113%202030%20M%20St" title="">
<span class="nametext">
CD1113 2030 M St </span>
<span class="uploadtext" currentUploads="0">
</span>
</a>
</td>
<td class="filesize"
title="6.1 MB"
style="color:rgb(187,187,187)">
6.1 </td>
<td class="date">
<span class="modified"
title="November 22, 2013 13:05"
style="color:rgb(169,169,169)">
12 days ago </span>
</td>
</tr>
<tr data-id="157"
data-file="CD1114%201724%20Mass%20Ave"
data-type="dir"
data-mime="httpd/unix-directory"
data-size='6906485'
data-permissions='17'>
<td class="filename svg"
style="background-image:url(/login/owncloud/core/img/filetypes/folder.png)"
>
<input type="checkbox" /> <a class="name" href="/login/owncloud/index.php/apps/files?dir=/Shared/CD1114%201724%20Mass%20Ave" title="">
<span class="nametext">
CD1114 1724 Mass Ave </span>
<span class="uploadtext" currentUploads="0">
</span>
</a>
</td>
<td class="filesize"
title="6.6 MB"
style="color:rgb(186,186,186)">
6.6 </td>
<td class="date">
<span class="modified"
title="November 22, 2013 13:35"
style="color:rgb(168,168,168)">
12 days ago </span>
</td>
</tr>
<tr data-id="122"
data-file="CV1028%203434%20Washington%20Blvd"
data-type="dir"
data-mime="httpd/unix-directory"
data-size='8281090'
data-permissions='17'>
<td class="filename svg"
style="background-image:url(/login/owncloud/core/img/filetypes/folder.png)"
>
<input type="checkbox" /> <a class="name" href="/login/owncloud/index.php/apps/files?dir=/Shared/CV1028%203434%20Washington%20Blvd" title="">
<span class="nametext">
CV1028 3434 Washington Blvd </span>
<span class="uploadtext" currentUploads="0">
</span>
</a>
</td>
<td class="filesize"
title="7.9 MB"
style="color:rgb(184,184,184)">
7.9 </td>
<td class="date">
<span class="modified"
title="November 14, 2013 09:28"
style="color:rgb(200,200,200)">
20 days ago </span>
</td>
</tr>
</tbody>
</table>
<div id="editor"></div>
<div id="uploadsize-message" title="Upload too large">
<p>
The files you are trying to upload exceed the maximum size for file uploads on this server. </p>
</div>
<div id="scanning-message">
<h3>
Files are being scanned, please wait. <span id='scan-count'></span>
</h3>
<p>
Current scanning <span id='scan-current'></span>
</p>
</div>
<!-- config hints for javascript -->
<input type="hidden" name="allowZipDownload" id="allowZipDownload" value="1" />
<input type="hidden" name="usedSpacePercent" id="usedSpacePercent" value="0" />
</div>
</div>
</body>
</html>
这是 javascript做该死的事情
var FileActions = {
actions: {},
defaults: {},
icons: {},
currentFile: null,
register: function (mime, name, permissions, icon, action) {
if (!FileActions.actions[mime]) {
FileActions.actions[mime] = {};
}
if (!FileActions.actions[mime][name]) {
FileActions.actions[mime][name] = {};
}
FileActions.actions[mime][name]['action'] = action;
FileActions.actions[mime][name]['permissions'] = permissions;
FileActions.icons[name] = icon;
},
setDefault: function (mime, name) {
FileActions.defaults[mime] = name;
},
get: function (mime, type, permissions) {
var actions = {};
if (FileActions.actions.all) {
actions = $.extend(actions, FileActions.actions.all);
}
if (type) {//type is 'dir' or 'file'
if (FileActions.actions[type]) {
actions = $.extend(actions, FileActions.actions[type]);
}
}
if (mime) {
var mimePart = mime.substr(0, mime.indexOf('/'));
if (FileActions.actions[mimePart]) {
actions = $.extend(actions, FileActions.actions[mimePart]);
}
if (FileActions.actions[mime]) {
actions = $.extend(actions, FileActions.actions[mime]);
}
}
var filteredActions = {};
$.each(actions, function (name, action) {
if (action.permissions & permissions) {
filteredActions[name] = action.action;
}
});
return filteredActions;
},
getDefault: function (mime, type, permissions) {
if (mime) {
var mimePart = mime.substr(0, mime.indexOf('/'));
}
var name = false;
if (mime && FileActions.defaults[mime]) {
name = FileActions.defaults[mime];
} else if (mime && FileActions.defaults[mimePart]) {
name = FileActions.defaults[mimePart];
} else if (type && FileActions.defaults[type]) {
name = FileActions.defaults[type];
} else {
name = FileActions.defaults.all;
}
var actions = this.get(mime, type, permissions);
return actions[name];
},
display: function (parent) {
FileActions.currentFile = parent;
var actions = FileActions.get(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions());
var file = FileActions.getCurrentFile();
if ($('tr[data-file="'+file+'"]').data('renaming')) {
return;
}
// recreate fileactions
parent.children('a.name').find('.fileactions').remove();
parent.children('a.name').append('<span class="fileactions" />');
var defaultAction = FileActions.getDefault(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions());
var actionHandler = function (event) {
event.stopPropagation();
event.preventDefault();
FileActions.currentFile = event.data.elem;
var file = FileActions.getCurrentFile();
event.data.actionFunc(file);
};
var addAction = function (name, action) {
// NOTE: Temporary fix to prevent rename action in root of Shared directory
if (name === 'Rename' && $('#dir').val() === '/Shared') {
return true;
}
if ((name === 'Download' || action !== defaultAction) && name !== 'Delete') {
var img = FileActions.icons[name];
if (img.call) {
img = img(file);
}
if(name==='Download'){
var html = '<a href="#" class="action" data-action="' + name + '">';
}if(name === 'Share'){
var html = '<span class="sharing"><a href="#" class="action sharing" data-action="' + name + '">';
}
if (img) {
html += '<img class ="svg" src="' + img + '" />';
}
html += t('files', name) + '</a></span>';
var element = $(html);
element.data('action', name);
//alert(element);
element.on('click', {a: null, elem: parent, actionFunc: actions[name]}, actionHandler);
parent.find('a.name>span.fileactions').append(element);
}
};
$.each(actions, function (name, action) {
if (name !== 'Share') {
addAction(name, action);
}
});
if(actions.Share && !($('#dir').val() === '/' && file === 'Shared')){
// t('files', 'Share')
addAction('Share', actions.Share);
}
// remove the existing delete action
parent.parent().children().last().find('.action.delete').remove();
if (actions['Delete']) {
var img = FileActions.icons['Delete'];
if (img.call) {
img = img(file);
}
if (typeof trashBinApp !== 'undefined' && trashBinApp) {
var html = '<a href="#" original-title="' + t('files', 'Delete permanently') + '" class="action delete" />';
} else {
var html = '<a href="#" original-title="' + t('files', 'Delete') + '" class="action delete" />';
}
var element = $(html);
if (img) {
element.append($('<img class ="svg" src="' + img + '"/>'));
}
element.data('action', actions['Delete']);
element.on('click', {a: null, elem: parent, actionFunc: actions['Delete']}, actionHandler);
parent.parent().children().last().append(element);
}
},
getCurrentFile: function () {
return FileActions.currentFile.parent().attr('data-file');
},
getCurrentMimeType: function () {
return FileActions.currentFile.parent().attr('data-mime');
},
getCurrentType: function () {
return FileActions.currentFile.parent().attr('data-type');
},
getCurrentPermissions: function () {
return FileActions.currentFile.parent().data('permissions');
}
};
$(document).ready(function () {
if ($('#allowZipDownload').val() == 1) {
var downloadScope = 'all';
} else {
var downloadScope = 'file';
}
if (typeof disableDownloadActions == 'undefined' || !disableDownloadActions) {
FileActions.register(downloadScope, 'Download', OC.PERMISSION_READ, function () {
return OC.imagePath('core', 'actions/download');
}, function (filename) {
window.location = OC.filePath('files', 'ajax', 'download.php') + '?files=' + encodeURIComponent(filename) + '&dir=' + encodeURIComponent($('#dir').val());
});
}
$('#fileList tr').each(function () {
FileActions.display($(this).children('td.filename'));
});
$('#fileList').trigger(jQuery.Event("fileActionsReady"));
});
FileActions.register('all', 'Delete', OC.PERMISSION_DELETE, function () {
return OC.imagePath('core', 'actions/delete');
}, function (filename) {
if (Files.cancelUpload(filename)) {
if (filename.substr) {
filename = [filename];
}
$.each(filename, function (index, file) {
var filename = $('tr').filterAttr('data-file', file);
filename.hide();
filename.find('input[type="checkbox"]').removeAttr('checked');
filename.removeClass('selected');
});
procesSelection();
} else {
FileList.do_delete(filename);
}
$('.tipsy').remove();
});
// t('files', 'Rename')
FileActions.register('all', 'Rename', OC.PERMISSION_UPDATE, function () {
return OC.imagePath('core', 'actions/rename');
}, function (filename) {
FileList.rename(filename);
});
FileActions.register('dir', 'Open', OC.PERMISSION_READ, '', function (filename) {
window.location = OC.linkTo('files', 'index.php') + '?dir=' + encodeURIComponent($('#dir').val()).replace(/%2F/g, '/') + '/' + encodeURIComponent(filename);
});
FileActions.setDefault('dir', 'Open');
最佳答案
如评论所述,您的选择器 .fileactions a:nth-child(2)
应该可以正常工作,也许您没有共享更多 HTML,使第二个 a 不是第二个 child ?
如果是这样,您可以尝试 .fileactions > a:nth-of-type(2)
,或者更好的是,根据数据属性进行选择:
.fileactions > a[data-action="Share"] {
display:none;
}
关于javascript - 隐藏类中的第二个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20383160/
代码如下: http://jsfiddle.net/t2nite/KCY8g/ 我正在使用 jquery 创建这些隐藏框。 每个框都有一些文本和一个“显示”和“隐藏”按钮。我正在尝试创建一个“显示/隐
我正在尝试做某事。如果单击一个添加 #add-conferance 然后菜单将显示.add-contact。当点击隐藏然后它显示隐藏。我也将 setTimeout 设置为 7sec,但我希望当我的鼠标
我有一个多步骤(多页?)表单,只要用户按下“下一步”或“上一步”按钮,表单字段就会通过 div 显示和隐藏。 我只想禁用第一个 div (div id="page1"class="pageform")
我有一个使用 IIS 6 和 7 的当前系统,用 ASP.NET 和 .NET 4 中的 C# 编写。 My purpose is to hide the url completely (as per
我正在建立一个网站,并有一个幻灯片。幻灯片有标题和索引,覆盖整个页面。当覆盖被激活时,标题需要消失。当覆盖层被停用时,通过单击退出按钮、缩略图链接或菜单链接,字幕必须返回。 这就是我目前所拥有的
我正在尝试为显示/隐藏功能制作简单的 jquery 代码。但我仍然做错了什么。 $(document).ready(function(){ $('.arrow').click(function
我有一个自定义对话框并使用它来代替 optionMenu。所以我希望 myDialog 表现得像菜单,即在按下菜单时显示/隐藏。我尝试了很多变体,但结果相同: 因为我为 myDialog 设置了一个
在我的项目中,我通过 ViewPager 创建我的 tabBar,如下所示: MainActivity.java mViewPager = (ViewPager) findViewById(R.id.
我目前正在使用一个 Excel 表,我将第 1-17 行分组并在单元格 B18 中写入了一个单元格值。我想知道当我在展开/折叠行时单击 +/- 符号时是否有办法更改 B18 中的值。 例如:我希望 B
我想创建一个按钮来使用 VBA 隐藏和取消隐藏特定组。我拥有的代码将隐藏或取消隐藏指定级别中的所有组: Sub Macro1() ActiveSheet.Outline.ShowLevels RowL
我是 VBA 新手。我想隐藏从任何行到工作表末尾的所有行。 我遇到的问题是我不知道如何编程以隐藏最后写入的行。 我使用下一个函数知道最后写入的单元格,但我不知道在哪里放置隐藏函数。 last = Ra
我想根据另一个字段的条件在 UI 上隐藏或更新一个字段。 例如,如果我有一个名为 Color 的字段: [PXUIField(DisplayName="Color")] [PXStringList("
这是我尝试开始收集通常不会遇到的 GCC 特殊功能。这是@jlebedev 在另一个问题中提到g++的“有效C++”选项之后, -Weffc++ This option warns about C++
我开发了一个 Flutter 应用程序,我使用了 ProgressDialog小部件 ( progress_dialog: ^1.2.0 )。首先,我展示了 ProgressDialog小部件和一些代
我需要在 API 17+ 的同一个 Activity(Fragment) 中显示/隐藏状态栏。假设一个按钮将隐藏它,另一个按钮将显示它: 节目: getActivity().getWindow().s
是否可以通过组件的 ts 代码以编程方式控制下拉列表的显示/隐藏(使用 Angular2 清楚)- https://vmware.github.io/clarity/documentation/dro
我想根据 if 函数的结果隐藏/显示 NiceScroll。 在我的html中有三个部分,从左到右逐一滚动。 我的脚本如下: var section2 = $('#section2').offset(
我有这个 jquery 代码: $(document).ready(function(){ //global vars var searchBoxes = $(".box"); var searchB
这个问题已经有答案了: Does something like jQuery.toggle(boolean) exist? (5 个回答) 已关闭 6 年前。 在 jQuery 中(我当前使用的是 1
我在这样的选择标签上使用 jQuery 的 selectMenu。 $('#ddlReport').selectmenu() 在某些情况下我想隐藏它,但我不知道如何隐藏。 这不起作用: $('#ddl
我是一名优秀的程序员,十分优秀!