属性和变量(简单)

时间:2012-05-30 17:02:53

标签: javascript html

我正在尝试使用VARIABLE作为ATTRIBUTE值......

我有:

var text = "Hello!";

,HTML是:

<li class="pro" id="text"> ---&gt; (我希望属性ID等于TEXT变量)

我该如何做到这一点?

谢谢


修改

我的问题会更具体。

这就是我真正拥有的:

<li class="product" name="RD-101" price="18"  minimum="4" gap="4"> 
                         <a class="product-image fancybox" href="images/product_big.jpg" title="Picture 4">
                             <img src="images/product_2.png" alt="Preview"/>
                             <div class="text-overlay">
                              <p class="product-heading">Description</p>
                               Enseignes résidentielles imprimées sur 2 panneaux 4 mm 36” x 24” collés dos à dos.
                             </div>
                         </a>
                         <p class="product-heading">RD-101 (Simple)</p>
                         <a href="#" id="test" class="product-buy">Ajouter au panier</a>
                         <p class="product-meta">Double de pareterre 32x24</p>
                         <div class="product-price">18<span class="product-currency">$</span></div>

                    </li>

如您所见,我使用在Javascript代码中设置的自定义属性。 我想知道如何设置(例如)... PRICE属性为VARIABLE VALUE而不是数字“18”,就像我现在粘贴在那里一样。

我在考虑像 - &gt;

这样的东西
<li class="product" name="RD-101" price="MY_VARIABLE_HERE"  minimum="4" gap="4"> 

6 个答案:

答案 0 :(得分:2)

$("li.pro").attr('id', text);与jQuery一起使用

请记住属性name<li>

无效

编辑:

如果没有jQuery,此代码会向所有price元素添加li(无效)属性

<ul id="my_ul_id">
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul>

-

var text = 'Hello';
var arr_li = document.getElementById("my_ul_id").getElementsByTagName("li"); 
for(var i=0 ; i<arr_li.length ; i++)
{
  arr_li[i].setAttribute('price', text);
}

最后,我们说price不是有效的属性。 如果您希望HTML文档有效,请查看here

答案 1 :(得分:2)

由于您已指定“javascript”而不是“jquery”,因此您可以执行以下操作...

<script type="text/javascript">
var text = "Hello!";
document.getElementById("liItem").setAttribute("id",text);
</script>

<ul>
  <li class="pro" id="liItem">
</ul>

已更新以反映属性从“名称”更改为“ID”

答案 2 :(得分:2)

您可以使用JQuery attr方法:

var theName = 'yourMom';
$('li.pro').attr('name', theName);​

http://jsfiddle.net/J798a/2/

答案 3 :(得分:1)

$("li.pro").attr('name', text);

你可以使用属性的任何名称,你喜欢

答案 4 :(得分:1)

Javascript会将其设置为

<script type="text/javascript">
    var text = "Hello!";
    document.getElementById("changeMe").setAttribute("id",text);
</script>

<ul>
   <li id="changeMe">
</ul>

setAttribute将提供的属性(第一个参数)设置为第二个参数的值...所以element.setAttribute(“name”,“john smith”)将名称设置为“john smith”和element.setAttribute( “class”,“math”)会将class属性设置为“math”。

答案 5 :(得分:1)

您也可以使用javascript模板库。

一些例子:

例如,使用JavascriptMVC,包含以下行(其中text实际上是JS变量)的ejs文件将转换为html:

<li class="pro" id="<%= text %>">

您可以在此处阅读: http://javascriptmvc.com/docs.html#!jQuery.View

欢迎来到Fantastic Infinite Javascript框架/图书馆世界:)!!