- 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/
在开发中的网页上,我在 IE 上遇到此错误 element = $(element); 此代码位于prototype.js 预期对象 如何消除此错误。 更新: 现场也使用了 jQuery。 最佳答
我有两个大小相同的嵌套数组: Array1 =[[1, 2], [], [2, 3]] Array2= [[1, 4], [8, 11], [3, 6]] 我需要将它们合并到一个数组中,如下所示: A
我有一些 jQuery 代码,当单击具有特定 ID 的项目时运行。当 ID 是 的一部分时,它就可以工作。元素,但当它位于 中时则不然元素。为什么会这样呢?我想使用 an,因为如果用户关闭了 Ja
Flex-box 规范 3声明 flex 元素不是 block 容器: A flex item establishes a new formatting context for its content
我遇到了一个意想不到的问题。 HTML JS $(function() { var $divs = $('.myDiv'); // create new div not in
我使用 Bootstrap 和 Ember.js 得到了一个无序列表。每个列表项都是一个显示新帖子的链接,每当您单击该链接时,Ember 都会添加类 active默认情况下。我正在使用 Bootstr
我正在尝试让一个函数正常工作,但运气不佳,所以我想向 Stackoverflow 智囊团提出一个新手问题! 基本上,我有一个表单,并且循环遍历所有元素以查看是否存在自定义数据属性。如果存在,则保持该元
我想映射一个可选数组,删除那些 nil 值,并使用另一个函数映射非 nil 值。 我知道我可以通过使用 compactMap 然后使用常规 map 来实现这一点,但我只想遍历数组一次。 我为此实现了一
我如何定位 li 元素,除非它们出现在 之后元素?换句话说,我想针对步骤而不是注释。 我尝试向 OL 添加一个我想从选择中排除的类,但我想出的代码不起作用。 (顺便说一句,重构 html 不是一种选
Warning 1 The element 'system.webServer' has invalid child element 'rewrite'. List of possible eleme
我正在尝试编写一个脚本,该脚本将遍历 HTML 源并创建 DOM 的 JSON 文件,然后使用 d3.js 在 TreeView 中显示该文件。我遇到的问题是不仅希望显示元素(TITLE、P、LI 等
我有以下 HTML 表单:- Option 1 Option 2
我试图在选定的 HTML 元素之后选择下一个具有类名 slider-value 的 span 元素。我尝试了多种解决方案,但没有一个有效。 我可以通过 id 选择它,但我不希望那样做使代码冗余。 $(
如果电子邮件地址无效,我想在屏幕上显示一条消息“请输入有效的电子邮件地址”。 body 元素的innerHTML 语句工作正常,但我用于p 元素的innerHTML 语句不起作用。 有一次,当我测试它
以下 jQuery 代码调用 ul 元素,查找元素内的前 三个 li 列表项,并隐藏剩余的 li 项目。然后,它附加一个 li 元素,其中显示“显示更多...”,并且在单击时显示之前隐藏的列表项。 (
我问了a question早些时候关于将编辑/删除链接与 h1 元素内联的最佳方法。我能够通过给出的答案实现这一点,但我现在有额外的要求,我需要在 h1 下方显示一个段落并编辑/删除链接。 到目前为止
我使用 MVC 4 和 knockout.js 库版本 2.1.0 显示从服务器检索到的大量文件的表中的以下摘录。 0)"> 正在正确检索数据,
我创建了一个脚本,该脚本在鼠标悬停在父容器上时激活,并且应该将其子元素移离鼠标。我目前已经让它工作了,但是代码的某些部分似乎与 REACT 代码应该是什么样子相矛盾。特别是两个部分。 我在渲染函数中使
我是 JS 新手,正在尝试理解项目 https://github.com/tastejs/todomvc 的代码 请参阅屏幕截图,我尝试对 button X 以及其父元素 div 设置断点,但在这两种
例如,假设有一个带有奇特颜色的标记: Something written here 使用 Visual Studio 2017 和 MVC 5 元素,有没有办法检查和定位当前应用了哪些样式,以及负责它
我是一名优秀的程序员,十分优秀!