我需要做的是在我的HTML中找到一个特定的字符串,如果发现我将用什么都替换它。
Exp:
HTML:
<img src=`javascript:alert("hello ,world!")`>
我需要做的是找到一些关键字如javascript,alert等的出现,如果在上面的HTML标签中找到,我需要用空字符串替换它。
我知道jquery有一些有用的功能,比如
.find(),. renplace()和:contains
但实际上我无法弄明白该怎么做,因为我在javascript中并不是那么好。
帮助将不胜感激。
答案 0 :(得分:1)
从您的问题中不清楚您是否已经知道要检查哪些属性,因此我将提供两种解决方案 - 具体取决于您是否已经知道。 如果您知道要搜索关键字的属性,请尝试以下操作:
var attribVal = $("img").attr("src");
if (attribVal.match(/(javascript)|(alert)/i)
{
$("img").attr("src", "");
}
如果您不知道属性名称,则将html存储在变量中并比较变量的值。假设以下div是img标记的父级:
<div id="myDiv">
<img src=`javascript:alert("hello ,world!")` id='myImg'>
</div>
执行以下操作:
var myVar = $("#myDiv").html();
if (attribVal.match(/(javascript)|(alert)/i)
{
$("img#myImg").attr("src", "");
}
答案 1 :(得分:1)
你正在做的事情甚至不是真正需要jQuery轻松完成的事情。这是纯JavaScript中的一个例子。
HTML
<a id="someLink" src="javascript:alert('hello world!')">LINK THAT DOES STUFF</a>
//how an image tag can have a JS src is beyond me.
现在,如果我想在 src 属性中查找“ javascript ”等关键字。我会首先得到DOM元素:
var domObject=document.getElementByID('someLink')
/*$('someLink') is jQuery equivalent*/
现在要获取所述属性中的内容我会使用domObject.getAttribute('src')
这将返回“javascript:alert('hello world!')”
最后,我将拥有一个将所有内容组合在一起的功能,只需检测我正在寻找的内容并将其清空。
function getRidofJavascriptInSrc(object){
a=object.getAttribute('src');
if(/javascript/i.test(a)) //this is REGEX, it will look for the keyword JavaScript and run statement if true
{object.setAttribute('src')=""}
}
getRidofJavascriptInSrc($('someLink'));