1

こんにちは、私は JavaScript の初心者で、単語TB_iframeContent800以外のすべてのテキストを削除するにはどうすればよいか疑問に思っていました。末尾の桁が異なります。

ここに文字列の例があります

<iframe frameborder="0" style="width: 670px; height: 401px;" onload="tb_showIframe()" name="TB_iframeContent80" id="TB_iframeContent" src="http://www.gorgeoushentai.com/wp-admin/media-upload.php?post_id=33&amp;" hspace="0">This feature requires inline frames. You have iframes disabled or your browser does not support them.</iframe>

TB_iframeContent80を抽出して変数として格納したい。では、javascript で正規表現を使用してこれを行うにはどうすればよいでしょうか? 数字の下 2 桁は常に変化するため、3 桁の数字になる場合があることに注意してください。

4

4 に答える 4

4
 var iframeName = document.getElementsByTagName("iframe")[0].name

jQuery を含めた場合は、次のようになります。

 var iframeName = $("iframe:first").attr("name");
于 2012-10-26T08:57:40.240 に答える
1

jQueryがオプションの場合、このようなものを探していると思います

$('iframe[name^="TB_iframeContent"]')

于 2012-10-26T09:02:01.707 に答える
1

このように解析している html をロードし、DOM を使用してその名前を取得できます (正規表現を使用するよりも簡単で信頼性の高い方法です)。

var loadhtml = document.createElement('div');
loadhtml.innerHTML = 'yourHtml';

var theName = loadhtml.getElementsByTagName('iframe')[0].name;

Jquery を使用する場合、名前を取得する方法として attr("name") を検討できます

ただし、正規表現を使用することを主張する場合は、次のとおりです。

/< *iframe[^>]*name *= *['"]([^'"]*)/
于 2012-10-26T09:14:41.020 に答える
1

(コード分析などの理由で) DOM を使用しない場合は、この正規表現を試してください。

var code = '<iframe ... /iframe>';

var result = code.match( /name="([^"]*)"/ );

var extract = result[1];

これは name 属性の内容を選択します

于 2012-10-26T09:02:41.787 に答える