2013-09-22 99 views
1

我想刪除一個包裝輪的圖像和非腳本標記:如何使用jquery刪除noscript標籤封裝器?

<a href="some_image.jpg"> 
<noscript> 
    <img src="some_image.jpg"> 
</noscript> 
</a> 

我試過unwrap(),但它不無腳本里面工作,接下來我試過html()方法:

$('a').html(function(index, oldhtml){ 
    return oldhtml.replace(/\<noscript\\?>/g, ''); 
}); 

雖然標籤被刪除,它會生成一個字符串而不是DOM:

<a href="some_image.jpg"> 
" 
    <img src="some_image.jpg"> 
" 
</a> 

如何刪除noscript標記包裝保持img元素不變?

回答

2

嘗試類似的東西 - 它實際上是一種非常原始的黑客

jQuery(function($){ 
    $('a:has(noscript)').html(function(){ 
     return $(this).find('noscript').text() 
    }) 
}) 

演示:Fiddle

+0

這是非常好,多才多藝。謝謝! –

1

你可以試試這個方法:

var image=$('noscript').text(); 
$("noscript").remove(); 
$("a").append(image); 

演示Fiddle

0

W hy不離開noscript原樣並自己添加圖像?

$("noscript").each(function() { 
    $('<img src="' + this.parentNode.href + '" />').appendTo(this.parentNode); 
}); 

fiddle

+0

我曾考慮過這個問題,但我不想在圖像中重複這些屬性。 –

3

與它的內容,可隨時更換元素:

$('noscript').replaceWith(function() { 
    return this.textContent || this.innerText; 
    // return $('<div/>').html(this.innerHTML).text(); 
}); 

http://jsfiddle.net/x9Eaw/

0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> 
<HEAD> 
<TITLE>noscript can change the Internet forever</TITLE> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
</HEAD> 
<BODY> 
<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
$(document).ready(function(){ 
    $('noscript').replaceWith(function() { 
     return this.textContent || this.innerText; 
    }); 
    $("p#javascripton").css("background-color", "yellow"); 
    $("p").click(function(){ 
     $(this).hide(); 
    }); 
}); 
//--> 
</SCRIPT> 
<noscript> 
<p> 
Noscript's usage today can be logical for <a href="google.com"><p id="javascripton">eg pc/laptop/high quality tablets usage the complete website with all features:images high resolution,javascript<br><h1>OR without javascript so no high resolutions images inserted with a jquery automated script generated from some php+javascript scripts so have usage for 80% mobile application cause almost are from China ,so low quality products=low cpu,low ram :IN THIS CASE SOMEONE CAN THINK TO SWITCH HIS PHONE TO NO JAVASCRIPT USAGE SO IF ANY PROGRAMMER CAN ADAPT AN ENTIRELY APPLICATION TO THE METHOD I USED IN THIS EXAMPLE AUTOMATED HIS BROWSER IS ADAPT FOR ANY RANDOM ACTION ABOUT THE USER CHOISE(YOU UNDERSTAND "TO USE OR NOT JAVASCRIPT") SO HIS CHINESE PHONE CAN BE APROXIMATELLY APROACH LIKE QUALITY OF SPEED EXECUTION THE OTHERS PC/LAPTOPS/TABLETS QUALITY PRODUCTS.<BR><BR>This stupid example is the best example how no script tag can change the quality of services on this planet ,boost the speed of the internet connection and stops unnecessary use of A LOT OF INTERNET TRAFFIC on slow devices..a simple tag can change the entirely dynamic of programmer's views so entirely Planet's beneficts</h1><p></a> <br> 
run this code in two instances :<br>with browser javascript enable <br>and without(browser's javascript disable or eg a firefox plugin noscript states on/off) 
</p> 
</noscript> 
</BODY></HTML>