事实证明,引用本地资源可能是一些人的问题.我正在寻找本地资源引用的规范答案,以及它们的含义.
举几个例子,这些参考路径有什么区别?
<img src="myfile.png" /> (没有领先的斜线)<img src="/myfile.png" /> (带斜线)<img src="folder/myfile.png" /> (子文件夹中没有前导斜杠)<img src="/folder/myfile.png" /> (带有斜杠/子文件夹)<img src="../folder/myfile.png" /> (带点和前导斜杠/在子文件夹中)我希望在此示例中将SRC属性转换为变量:
<img border="0" src="/images/image.jpg" alt="Image" width="100" height="100" />
Run Code Online (Sandbox Code Playgroud)
所以例如 - 我想得到一个变量$foo = "/images/image.jpg".重要!src属性将是动态的,因此不能进行硬编码.有没有快速简便的方法来做到这一点?
谢谢!
编辑:图像将是一个巨大的字符串的一部分,基本上是新闻故事的内容.所以图像只是其中的一部分.
EDIT2:这个字符串中会有更多的图像,我只想获得第一个的src.这可能吗?
我试图使用jQuery更改图像src属性
jQuery("#imageID").attr('src','http://localhost:8080/images/1/myImage.png' );
Run Code Online (Sandbox Code Playgroud)
使用上面的代码我可以更改src属性,但当我尝试这个: -
jQuery("#imageID").attr('src',jQuery("#imageBlock").css('background-image') );
Run Code Online (Sandbox Code Playgroud)
我无法更改src.
提供
alert ( jQuery("#imageBlock").css('background-image') );
Run Code Online (Sandbox Code Playgroud)
收益:
编辑#1 就在我即将接受解决方案时.我必须说,几乎所有的解决方案都在FF中运行.我试过了:
我猜其他人也会工作.但是这些解决方案都没有在IE中运行.原因是:当FF返回时:
IE返回:
^^介意这里的报价
现在,可能是设置src attr的通用方法.我是否需要测试浏览器是否为IE?
这是工作代码.
var src = "";
if ( jQuery.browser.msie ) {
src = jQuery("#imageBlock").css('background-image').slice(5,-2);
}else{
src = jQuery("#imageBlock").css('background-image').slice(4,-1);
}
jQuery("#imageID").attr('src', src );
Run Code Online (Sandbox Code Playgroud)
我真的不喜欢它:x.如果有另外一个解决方案,请告诉我,否则我会立即接受slice解决方案.
是否有一种简单可靠的方法来确定当前正在执行的JavaScript文件的URL(在网页内)?
我唯一想到的是扫描DOM src以查找所有脚本属性以查找当前文件的引用方式,然后通过应用它来计算绝对URL document.location.任何人都有其他想法,是否有一些我完全忽略的超级简单方法?
更新:通过DOM访问的脚本元素已经具有src包含完整URL 的属性.我不知道它是多么普遍/标准,但是你可以使用getAttribute("src")哪个将返回[X] HTML中的任何原始属性值.
大家早,
我有一个像这样的图像列表:
<ul id="preload" style="display:none;">
<li><img src="afx4000z-navy-icon-1_thumb.jpg"/></li>
<li><img src="afx4000z-green-icon-1_thumb.jpg"/></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
使用jQuery如何在ul#preload中查找包含特定字符串的所有图像src,例如"green"
就像是...
var new_src = jQuery('#preload img').attr('src')*** that contains green ***;
Run Code Online (Sandbox Code Playgroud) 我在C:\ wamp\www\site\img中有一个图像,我尝试在一个页面中显示它:
<img src="C:\wamp\www\site\img\mypicture.jpg"/>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.文件实际上在那里,如果我尝试用相对路径引用它,我得到了图片
<img src="../img/mypicture.jpg">
Run Code Online (Sandbox Code Playgroud)
错误在哪里?我错过了什么?再次谢谢你们!
如果下面的img存在
<img id="youtubeimg" src="http://i1.ytimg.com/vi/VK4ah66jBvE/0.jpg"/>
Run Code Online (Sandbox Code Playgroud)
而剧本是
<script>
var youtubeimgsrc = "something here"
document.write(''+youtubeimgsrc+'')
</script>
Run Code Online (Sandbox Code Playgroud)
结果应该是 http://i1.ytimg.com/vi/VK4ah66jBvE/0.jpg
我该怎么做才能获得图像源并设置为变量.
当我放置一个img标签时,我动态创建了src属性.有没有办法测试src(图像所在的路径)是否实际存在于javascript中以避免获取:

我想<iframe>在页面上创建一个,但后来添加src.如果我创建一个没有src属性的iframe ,那么它会在某些浏览器中加载当前页面.设置的正确值src是什么,只是加载一个空白的iframe?
我见过的答案是:
about:blankjavascript:falsejavascript:void(0)javascript:"";有明显的赢家吗?如果没有,有什么权衡?
我想在IE6以后的所有浏览器中都没有针对HTTPS网址的混合内容警告,也没有任何后退按钮,历史记录或重新加载奇怪的内容.
所以我是JavaScript的新手(这实际上是我第一次尝试做某事)并且我遇到了一些麻烦.我认为我有足够的知识来完成这项工作,我甚至用Google搜索了可以帮助我解决问题的教程和脚本,但没有任何帮助.
我似乎无法更改图像源,这是我到目前为止的代码:
<script type="text/javascript">
function changeImage(a) {
document.getElementById("img").src=a.src;
}
</script>
<div id="main_img">
<img id="img" src="1772031_29_b.jpg">
</div>
<div id="thumb_img">
<img src='1772031_29_t.jpg' onclick='changeImage("1772031_29_b.jpg");'>
<img src='1772031_55_t.jpg' onclick='changeImage("1772031_55_b.jpg");'>
<img src='1772031_53_t.jpg' onclick='changeImage("1772031_53_b.jpg");'>
</div>
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释我是否做错了什么?或者也许我错过了什么?请帮帮我 :-)