特定の乱数に一致するdivを非表示にするjavascriptで誰でも私を助けることができますか?このページを読み込むたびに、次のような2つのdivがあります。 <div id="1945498985">
数はページをロードするたびに変わりますが、長さは9〜10のままです。ページ上の2つのdivを取得して削除/非表示するにはどうすればよいですか。
このページの2つのdivの長さはそれぞれ9〜10の乱数であることを明確にしましょう。
このようなdivは次のようになります。
<div id="843401712" style="position:relative;z-index: 1000;left: 75px;top: -340px; padding:0px; margin: 0px;width: 310px; height:280px; text-align: center; border:3px gray solid"></div>
生成されたhtmlを制御することはできません。これら2つのdivを非表示にするために、ページの横でJavascriptをGreasemonkey拡張機能として実行しようとしています。
皆さんが提供してくれたすべての助けに感謝します。私はjavascriptが初めてなので、とても助かります。
回答:
回答№1は0つかいます document.getElementsByTagName()
すべてを取得する div
要素。次に、 id
次のような正規表現を使用する [0-9]{9,10}
もし id
一致、削除/非表示にします。
回答№2の場合は0
質問には2つの問題があります。
最初に、「同じIDを持つ2つのdivがあることを提案していますが、これは違法です。
第二に、あなたのIDはすべて数字であり、これも違法です。
ここでは(簡潔にするためにjqueryを使用し、「PHPのような動的に生成されたページからランダムに取得している」と仮定して)、探していることを実行する例を示します。
<script type="text/javascript">
var pRand = "<?php echo $pRand; ?>";
document.ready(function(){
$(".el-"+pRand).hide();
});
</script>
...
<div class="el-<?php echo $pRand;?>"></div>
<div class="el-<?php echo $pRand;?>"></div>
回答№3の場合は0
jQueryフィルターを使用して、IDで正規表現を照合する関数を提供します。
http://api.jquery.com/filter#expr
ここをクリック: http://jsfiddle.net/ANW8C/
あなたの場合は…
例:
$("div").filter(function() {
return this.id.match("\d{9,10}");
} ).hide();
回答№4の場合は0
私はあなたにjqueryを使用することをお勧めします
http://api.jquery.com/category/selectors/
回答№5の場合は0
他の人が言ったように、あなたは最初に正当なID値を持っていることを確かめるべきです。番号で始めることはできず、ページ内に特定のIDを持つオブジェクトは1つしか存在できません。
生成されたHTMLを制御できる場合は、非表示にするすべてのdivに共通のクラス名を付けるのが最善です。その後、それらを簡単に見つけるか、非表示にするスタイルルールを追加できます。
<div id="a1945498985" class="hideMe"></div>
<div id="a2945498986" class="hideMe"></div>
そのクラス名を持つすべてのオブジェクトを非表示にすることができます。 jQueryでは、これは単に次のようになります。
$(".hideMe").hide();
答え№6の場合は0
ここにいくつかの例があります-私はjQueryを使用していません使用することを提案していないためです。この種のものには非常に便利ですが、必要な場合はそれなしで問題を解決することもできます。
http://jsfiddle.net/Sohnee/tpGqj/
使用される方法は2つあり、1つは親コンテナと他のコンテナは、一部のブラウザが持つ新しいgetElementsByClassNameサポートを使用します(古いブラウザをサポートする必要がある場合は、独自のgetElementsByClassNameをロールできます)。
理想的には、ランダムなIDをに適用しないでください要素-要素にランダムなIDを与えることにはほとんど意味がないようです。ランダムIDサーバー側を設定している場合は、JavaScriptにIDを指定して、getElementById呼び出しで要素をターゲットにできるようにすることもできます。これが最も効率的です。
また、数値IDが無効であるという記述にも同意します。IDの先頭に少なくとも1つのアルファベット文字を入力する必要があります。