我有一个wordpress网站,插件使用cufon文本替换。 (我不完全确定这样做的实际方式,但这并不重要。)
我想在特定的一两个字上使用“display:none”。例如,在移动主题上,我想将“联系我们”更改为“联系”。实时隐藏此功能的唯一方法是使用alt标记,因为没有类或ID。
我可以使用JavaScript来检测alt标签“Us”并执行display:none吗?示例代码如下。
<cufon class="cufon cufon-canvas" alt="Us" style="width: 20px; height: 14px; "><canvas width="32" height="17" style="width: 32px; height: 17px; top: -2px; left: -2px; "></canvas><cufontext>Us</cufontext></cufon>
答案 0 :(得分:2)
如果您知道要搜索的元素标记(我假设您有此信息),您可以在文档中查找所有这些标记并检查alt属性值。当您找到您正在寻找的特定元素时,您可以随心所欲地使用它。在此示例中,我更改了textContent
属性。
(function () {
var li = document.getElementsByTagName('li');
for ( var i = 0, length = li.length; i < length; i++ )
{
if ( li[i].getAttribute('alt') === 'two' )
li[i].textContent = 'New Text';
}
}).call(this);
直播:http://jsbin.com/ixitut/2/edit
您也可以通过将document
更改为更具体的标记来缩小搜索范围。
var searchWithin = document.getElementById(/**/)
var tags = searchWithin.getElementsByTagName(/**/)
https://developer.mozilla.org/en/DOM/element.getElementsByTagName
答案 1 :(得分:0)
我们假设您正在谈论图片,因为这是alt
属性唯一相关的地方。
在所有cufon
代码上使用.getAttribute()
,您可以匹配字符串Us
:
var cufons = document.getElementsByTagName("cufon");
// Loop over and look for the attr
var num = cufons.length;
for (var i=0; i<num; i++) {
// If it has an alt attr and matches Us inside word boundaries...
if (cufons[i].getAttribute('alt') && /\bUs\b/.test(cufons[i].getAttribute('alt'))) {
// set to display:none
cufons[i].style.display = "none";
}
}
答案 2 :(得分:0)
我认为您需要将text
标记的<a href="...">Contact Us</a>
更改为Contact
,并确定link
您需要使用标记,在这种情况下,我认为你可以使用rel attribute
,即
<a href="#" rel="us">Contact Us</a>
和javascript将Contact Us
更改为Contact
您可以使用以下代码
var links=document.getElementsByTagName('a');
for(var i=0;i<links.length;i++)
{
var rel=links[i].getAttribute('rel');
if(rel && rel.match(/^us$/i)) links[i].innerHTML='Contact';
}
或者,如果不使用任何属性,您只需检查innerHTML
的{{1}},如果它包含a tag
,则将其更改为Contact US
,如下所示
Contact
和javascript将<a href="#">Contact Us</a>
更改为Contact Us
您可以使用以下代码
Contact
<强>更新强>
我认为默认情况下,您可以保留var links=document.getElementsByTagName('a');
for(var i=0;i<links.length;i++)
{
var rel=links[i].innerHTML;
if(rel && rel.match(/^Contact Us$/i)) links[i].innerHTML='Contact';
}
而不是link text as Contact
并检查是否在任何移动设备中(在桌面浏览器中时),然后将Contact Us
更改为{{1使用Contact
,即
Contact Us