2

我的 HTML 页面中有这个元素:

<a style="display:block;width:728px;height:90px;margin:0 auto;background:#EEE url('/_images/2011images/img_dotco_3.jpg') no-repeat top left; text-decoration:none;color:#000;" href="/domain-registration/dotco-overview.aspx?sourceid=bnrq2co728x90">
       <span style="float:right;margin:5px 27px 0 0;width:110px;color:#FFF;text-align:center">
          <span style="display:block;font-size:1em;text-align:center">NOW ONLY</span> 
          <strong style="display:block;font-size:1.6em;text-align:center"><!-- START TAG // Co_RegisterPrice_TLD -->
   <span class="Tag_Co_RegisterPrice_TLD"><strong>$35.70</strong>/yr</span>
<!-- End TAG // Co_RegisterPrice_TLD --></strong>       
       </span>    
    </a>

我需要用 CSS 或 Javascript 隐藏它。CSS 将是最好的方案,但 Javascript 也可以。事实是我根本无法编辑 HTML 代码,所以我无法直接删除该项目。这也不是任何其他 HTML 元素的父元素,所以我找不到用 CSS 隐藏它的简单方法。

此外,即使背景图像更改或链接更改,我也需要隐藏此 A 元素,实际上它并不总是相同的。

我报告了所有可用的 HTML。这是一个示例http://subdir.co/help-center/default.aspx 它是那里的顶部横幅。让我知道如何从页面中隐藏它。谢谢。

4

7 回答 7

5

尝试使用 jQuery:

$('a[href^="/domain-registration/dotco-overview.aspx?sourceid"]').hide();

这会隐藏带有以开头a的属性的标签。href/domain-registration/dotco-overview.aspx?sourceid

于 2013-01-06T11:31:51.673 回答
1

利用:

document.getElementById('yourElementId').display=none;
于 2013-06-29T20:59:35.300 回答
0

jsFiddle 类名方法 DEMO

jQuery via Classname:在这种方法中,我们“查看”锚点以寻找线索。

$(document).ready(function () {

  // To disable the line below, just comment it out just like this line is.
  $('.Tag_Co_RegisterPrice_TLD').closest('a').hide();

});

jsFiddle ID方法DEMO

jQuery via ID:这一次,我们不看内部,因为任何事情都可能改变。我们现在使用div引用!

$(document).ready(function () {

  // To disable the line below, just comment it out just like this line is.
  // No matter the unique ID code in front of MasterUpdatePanel Div, it will always be matched.
  $('[id$="MasterUpdatePanel"]').next('a').hide();

});

此处显示的是 HTML 页面的 Firefox 屏幕截图。注意 div ID 包含ctl00_MasterUpdatePanel. 前面的字母、数字和下划线可能会改变,但这个关键字不会。因此,作品的“结局部分”的匹配id

在此处输入图像描述

于 2013-01-06T11:49:50.607 回答
0

由于您无法更改 HTML 代码,因此您无法向元素添加标识符以选择和操作它。

但是您可以使用 jQuery 选择第一个 'a' 元素,并将 'display' 属性设置为 'none'。

我认为应该这样做:

$('a:first').css("display","none");
于 2013-01-06T11:36:03.427 回答
0

你可以用css试试:

a[style][href] {
   display: none !important;
}
于 2013-01-06T11:36:53.723 回答
0

我认为为 CSS 选择器添加类或制定一些规则是行不通的,因为元素属性中的定义会覆盖另一个样式定义。如果您使用一些 javascript 库来进行 dom 操作,例如 jQuery,这将很容易。

之后你可以写类似

$(".sCntSub3 > a").hide()

您可以尝试从浏览器控制台中查找元素。这是如何验证您选择正确元素的简单方法

于 2013-01-06T11:29:06.257 回答
0

您可以从“Tag_Co_RegisterPrice_TLD”类中遍历 dom 树,找到可以隐藏的 A 标签。

如果您需要执行额外的逻辑,那么您可以在决定隐藏之前访问文本(例如价格/标题/网址)。

如果原始 javascript 对您来说太多,请使用 jQuery。

于 2013-01-06T11:32:07.053 回答