【问题标题】:JQuery Change An Embeds Src AttributeJQuery 更改 Embeds Src 属性
【发布时间】:2013-02-24 23:39:11
【问题描述】:

我无法更改我的 <embed> src 属性。

(JQuery)

for (index in Forcast) {
var imageurl = "http://localhost/DesktopVersion/Inc/Images/Weather/";
var imagename = Forcast[0]['icon']+".svg)";
var WeatherIcon = imageurl+imagename;
var parent = $('embed#GetWeatherIcon').parent();
var newImage = "<embed scr=" + WeatherIcon + " />";
var newElement = $(newImage);

$('embed#GetWeatherIcon').remove();
parent.append(newElement);
....

(HTML)

<div>
<embed id="GetWeatherIcon" type="image/svg+xml" />
</div>

(CSS)

#GetWeatherIcon {
height:150px; width:150px; margin:30px 0 0 35px; padding:0; border:0; position:absolute;
}

如果有人能指出我需要改变什么,那就太好了。非常感谢!

【问题讨论】:

    标签: javascript jquery embed src


    【解决方案1】:

    newElement 变量在那里丢失。

    你应该改变

    var newImage = "<embed scr="Image" />";
    

    var newImage = "<embed scr=" + Image + " />";
    var newElement = $(newImage);
    

    然后应该可以工作

    $('embed#GetWeatherIcon').remove();
    parent.append(newElement);
    

    this question 无法更改 src 属性

    $('embed#GetWeatherIcon').attr('src', Image); // NOT WORKING
    

    更新:

    我尝试了您的最新代码,但发现了一个问题。您在src 属性名称中犯了一个错误,您写了scr 并且它无法正常工作。 var imagename = Forcast[0]['icon']+".svg)"; 也有错误,可能是右括号错误。

    这是我的工作代码:

    <!DOCTYPE HTML>
    <html>
    <head>
      <meta http-equiv="content-type" content="text/html; charset=UTF8">
      <meta name="generator" content="HTML hackers, wwww.htmlhackers.com">
      <title>Embed object change</title>
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
      <style>
        #GetWeatherIcon { 
          height:150px; width:150px; margin:30px 0 0 35px; padding:0; border:0; position:absolute;
        }
      </style>
    </head>
    <body>
      <script>
        $(document).ready(function() {
          $('#change_btn').click(function() {
            var imageurl = "http://upload.wikimedia.org/wikipedia/commons/e/e8/";
            var imagename = "Svg_example3.svg";
            var WeatherIcon = imageurl+imagename;
            var parent = $('embed#GetWeatherIcon').parent();
            var newImage = "<embed id=\"GetWeatherIcon\" src=\"" + WeatherIcon + "\" type=\"image/svg+xml\"/>";
            var newElement = $(newImage);
    
            $('embed#GetWeatherIcon').remove();
            parent.append(newElement);
          });
        });
      </script>
      <p id="change_btn">Change</p>
      <div>
        <embed id="GetWeatherIcon" src="http://upload.wikimedia.org/wikipedia/commons/c/c9/Svg_example4.svg" type="image/svg+xml" />
      </div>
    </body>
    </html>
    

    【讨论】:

    • 谢谢你的回答 :) 但似乎两种方法都行不通?图片仍然没有显示:/
    • 我已更新问题以显示我的新代码,这就是您的建议。我不知道我是否做错了什么,但它不起作用。你能检查一下吗?
    • 非常感谢您的更新,很抱歉回复晚了。我已经更改了所有内容,但是当您说“...var imagename = Forcast[0]['icon']+".svg)"; 中的错误,可能有错误的右括号”时,我不知道您的意思。你没有在你的代码中添加这个,所以我无法锻炼我做错了什么......
    • Forcast[0]['icon']+".svg)"的评价是什么?我猜它类似于"http://www.somepage.com/img/icons/forecast.svg)" 然后在字符串末尾的括号是错误的,因为当你在浏览器中输入这个时你会得到 404 - Page not found 错误。然后尝试"http://www.somepage.com/img/icons/forecast.svg",这可能会奏效。
    • 哦,我很抱歉浪费了您的时间:/出于某种原因,我认为我需要支架来关闭/封装呼叫/命令。然后我现在看着它,意识到我什至没有一个开口括号来搭配它:/我就是这样一个木偶。非常感谢您的耐心和帮助,现在一切正常!
    【解决方案2】:

    我不确定,bt 从 html 中删除 src 并在源路径中给出其他名称:

    var newImage = "<embed scr="new source" />";
    

    【讨论】:

    • 您好,感谢您的回答。您能否详细说明“在源路径中提供其他名称”的含义...什么是“新源”
    • 将图像更改为任何其他名称或路径。
    • 所以我可以这样写...var newImage = "&lt;embed scr="new WeatherIcon" /&gt;"; WeatherIcon = var WeatherIcon = imageurl+imagename; ?如果我这样做了,那么我的其他功能不起作用,这意味着它不正确??
    • no..no..no 只是像这样的 image1、image2 或像 /a/b/img.gif 这样的文件夹路径
    • 这对我想做的事情不起作用:/我从天气 API 获取一个 jsonp 文件,然后我获取天气状态值并为其分配一个图像。我不能有固定的图片链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2012-02-10
    • 2018-09-30
    • 1970-01-01
    • 2023-03-12
    • 2011-12-05
    • 2021-09-09
    相关资源
    最近更新 更多