0

私は wordpress サイトを持っており、プラグインは cufon テキスト置換を使用しています。(実際の方法は完全にはわかりませんが、重要ではありません)。

特定の単語または 2 つだけに「display:none」を使用したいと思います。たとえば、モバイル テーマで、「お問い合わせ」を「お問い合わせ」のみに変更したいと考えています。クラスや ID がないため、これをオンザフライで非表示にする唯一の方法は、alt タグを使用することです。

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>
4

3 に答える 3

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

于 2012-07-26T21:12:41.883 に答える
0

タグの をtextに変更して、フラグを使用する必要があることを識別する必要があると思います。その場合は、 を使用できると思います。<a href="...">Contact Us</a>Contactlinkrel attribute

​&lt;a href="#" rel="us">Contact Us</a>

変更Contact UsするJavaScriptContactは、次のコードを使用できます

​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含まa tagれている場合は次のようContact USに変更しContactます。

<a href="#">Contact Us</a>

変更Contact UsするJavaScriptContactは、次のコードを使用できます

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し、モバイルデバイスにないかどうかを確認して(デスクトップブラウザーの場合)、ContactContact Ususingjavascriptに変更できると思います。

var ismobile=navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i); // May be these are not enough but only an example
if(!ismobile){
    // one of above code snippets
}
于 2012-07-26T21:30:15.027 に答える
0

alt関連する唯一の場所属性であるため、画像について話していると仮定します。

.getAttribute()すべてのcufonタグで使用すると、文字列を一致させることができます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";
  }
}
于 2012-07-26T21:04:56.520 に答える