特定の画像を削除する必要がありますsrc
:
http://ukn.cs-mtc.com/wp-content/plugins/download-monitor/page-addon/thumbnail.gif
<img>
JavaScriptでタグ全体を削除する方法はありますか?
特定の画像を削除する必要がありますsrc
:
http://ukn.cs-mtc.com/wp-content/plugins/download-monitor/page-addon/thumbnail.gif
<img>
JavaScriptでタグ全体を削除する方法はありますか?
jQueryを使用していますか?もしそうなら、
$('img[src="http://ukn.cs-mtc.com/wp-content/plugins/download-monitor/page-addon/thumbnail.gif"]').remove();
動作するはずです。
さもないと...
var img = document.getElementsByTagName('img');
for(var i=0,i<img.length;i++) {
if(img[i].src == 'http://ukn.cs-mtc.com/wp-content/plugins/download-monitor/page-addon/thumbnail.gif') {
img[i].parentNode.removeChild(img[i]);
}
}
私には自由な時間がありました(そしてJavaScriptを書きたいという奇妙な衝動がありました...)ので、私はこの機能的なアプローチを提供すると思いました:
function removeNeighbour(el, elType) {
if (!el) {
return false;
}
else if (el.nextElementSibling) {
var nxt = el.nextElementSibling;
}
else {
var nxt = el.nextSibling;
while (nxt.nodeType !== 1 && nxt.nextSibling) {
nxt = nxt.nextSibling;
}
}
if (elType && nxt.tagName.toLowerCase() == elType.toLowerCase()) {
nxt.parentNode.removeChild(nxt);
}
else if (!elType) {
nxt.parentNode.removeChild(nxt);
}
}
function clearElsWithAttrEquals(el, attr, val, andNeighbour, neighbourType) {
if (!el || !attr || !val) {
return false;
}
else if (document.querySelectorAll) {
var matchingElems = document.querySelectorAll(el + '[' + attr + '="' + val + '"]'),
neighbourType = neighbourType || '';
for (var i = matchingElems.length - 1; i >= 0; i--) {
if (andNeighbour === true) {
removeNeighbour(matchingElems[i], neighbourType);
}
matchingElems[i].parentNode.removeChild(matchingElems[i]);
}
}
else {
var matchingElems = document.getElementsByTagName(el),
len = (matchingElems.length - 1);
for (var i = len; i >= 0; i--) {
if (matchingElems[i][attr] == val) {
matchingElems[i].parentNode.removeChild(matchingElems[i]);
}
}
}
}
clearElsWithAttrEquals('img', 'src', 'http://ukn.cs-mtc.com/wp-content/plugins/download-monitor/page-addon/thumbnail.gif', true, 'p');
関数のクイックガイド(および私がこれまでに作成する可能性のある唯一のドキュメント)clearElsWithAttrEquals()
:
clearElsWithAttrEquals(el, attr, val[, andNeighbour[, neighbourType]])
;
el
:(文字列)は要素タイプ('img'、'p'、'span' ...)を識別します。attr
:(文字列)は、検索する属性を識別します('id'、'src'など...)val
:(文字列)これは、値が文字列と完全に等しい場合にのみ一致しますandNeighbour
:(ブール値、オプション)隣接する要素も削除しますか?合格true
(はいの場合)またはfalse
(そうでない場合)。neighbourType
:(文字列、オプション)この要素タイプ('div'、'hr'、'span'など)の場合にのみネイバーを削除します; 省略した場合、次の兄弟要素はそのタイプに関係なく削除されます。参照:
これはjQueryで簡単に行うことができます:
$('img[src="<path>"]').remove();