如何使用url设置setAttribute值?

时间:2019-07-12 02:22:06

标签: javascript google-chrome-extension

我正在将网址设置为网站的DOM。现在,我可以通过复制实际的网址来完成此操作,如下所示:

document.getElementById('mediaWebUrl').setAttribute('value','https://www.youtube.com/watch?v=hkOTAmmuv_4');

这还不够方便。我想用一个变量代替实际的网址。如下所示:

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
     var activeTab = tabs[0];
     var videoUrl = activeTab.url; // or do whatever you need    
  });

但是当我做如下工作时:

document.getElementById('mediaWebUrl').setAttribute('value',videoUrl);

它没有成功,什么也没发生。为什么?我使用alert(typeof videoUrl)确认变量“ videoUrl”的类型是字符串。作为Java语言中的新手,我确实需要在这个简单的问题中提供建议。谢谢。

1 个答案:

答案 0 :(得分:0)

您可以编写一个函数并传递div(您要在其中显示视频的位置)的id的值和视频url,然后调用该函数来设置属性。

示例代码:

function setVal(id, val){
    var el = document.getElementById(id); //get the element
    var attrVal = val; //set the url

    el.setAttribute('value', val) //set the value to the url

}

setVal("myVid", "https://www.youtube.com/watch?v=hkOTAmmuv_4"); //call the function 
(in this case, myVid is the id)

您的代码可能无效,因为该变量仅在本地定义。 您可以使用网络控制台检查错误。

希望这会有所帮助!