2017-09-23 65 views
-1

我正在尝试制作一个名为id ='pr'的图像。 我的HTML代码在javascript中制作HTML id变量

<div id="main"> 
<img id ='pr' style="width: 500px;height: 600px;"src="https://i.redd.it/2u0y0z5i12py.png"> 
</div> 

我的JavaScript代码:

<script type="text/javascript"> 
    var getElementById('pr') = 1 
    if (getElementById('pr' = 1)) {alert ('im pickle rick bitch')} 
    </script> 

那么,我试图做的是使一个变量PR,并给它一个的值,所以它触发如果PR警报是画廊中的形象。我很好地解释了它的好处,因为我的英语不是最好的!(我也是小菜鸟)TY!

+2

已标记为正确的答案,是不正确的。请参阅下面的答案。 –

回答

0

试试这个:

var foo = document.getElementById('pr'); 

if (foo) {alert ('im pickle rick bitch')} 

这将解决您的问题与运行的代码,如果你的ID存在,才会显示。但我建议你看看一些JavaScript教程。这将有助于您更好地理解Suren Srapyan的答案。

+1

现在您的答案实际上不会解决OP问题,因为警报将在每种情况下显示。 –

0

您可以为img设置一个值,但据我所知您需要在img标记上添加一些额外的信息。您可以通过setAttributegetAttribute方法来完成。

在你的代码中你有一些错误。你的变量声明是错误的。你需要给你的变量一个名字,在我的情况下它是myPr,并为它分配返回document.getElementById的不只是getElementById的vlaue。然后使用setAttribute方法来设置一些名为dataId的HTML5约束属性。之后,您可以使用getAttribute方法来获取该值并在逻辑中使用。

const myPr = document.getElementById('pr'); 
 
myPr.setAttribute('dataId', 1); 
 

 
if(Number.parseInt(myPr.getAttribute('dataId')) === 1) { 
 
    alert ('im pickle rick *****'); 
 
}
<div id="main"> 
 
<img id ='pr' style="width: 500px;height: 600px;"src="https://i.redd.it/2u0y0z5i12py.png"> 
 
</div>

+0

是的,但它只需要激活,如果它的图像,如果它的另一个它不需要说im im picke里克 – mikailavci2

+0

是的,根据我们设置的属性值,你可以编写你的逻辑。获取与您想要的比较的属性。 –

+0

ooooh所以我可以编辑dataid我是吗? – mikailavci2

1

您的主要问题是,如果您为pr创建变量,然后将该变量设置为1,那么您将失去对pr的引用。

换句话说:

var document.getElementById("pr") = 1; 

无效代码,因为你没有指定变量名。但是,即使你没有:

var x = document.getElementById("pr") = 1; 

x将在第一持有参考pr,然后立即失去价值,而是被设置为1

您的if条件也有问题,因为单个等号(=)用于设置值,而不是比较两个值。所以,你的情况总是会返回true。 JavaScript使用=====进行比较。

如果您需要一种方法来保持元素的轨道,你可以给每个元素下方所示的data-* attribute为:

var element = document.getElementById('pr'); 
 
// We can extract the data-count attribute value (a string) 
 
// with the .dataset.count property: 
 
if (element.dataset.count === "1") { 
 
    alert ('im pickle rick bitch'); 
 
}
<div id="main"> 
 
    <!-- The data-* attributes are designed to allow you to store meaningfull data with an element. --> 
 
    <img id ='pr' data-count="1" 
 
     style="width: 500px;height: 600px;" src="https://i.redd.it/2u0y0z5i12py.png"> 
 
</div>