在Javascript中从DIV中检索动态值以执行逻辑

时间:2013-06-24 19:23:01

标签: javascript jquery html

我是Java和HTML的新手,我有一个填充了动态值的DIV

    <div id=test>
    <span
     Test="TBinaryText"
     SITENAME="test site"
     OBJECTNAME="Temperature" 
     OBJECTTYPE="0" 
     INSTANCE="1" 
     DEVICE="1" 
     PROPERTYID="85" 
     INCLUDEUNITS="1" 
     ARRAYINDEX="-1"

    STYLE="position:absolute;top:73;left:188;height:16;width:34;z-index:43;overflow:hidden;font-        family:Arial;font-size:8pt;font-weight:700;font-style:normal;mask:0.1;">??? 
    </span>
    </div>

在脚本中,我将DIV存储为数组的一部分(简化发布)

        var trial = [
          ['string',43,23,1,test]
                     ]

我想使用'test'DIV的值来执行逻辑来确定地图上标记的引脚颜色。如果我警告包含DIV的数组元素,则显示[Object]而不是内容或值。我发现并实现了一个jQuery插件来显示内容,如果DIV的内容是静态数字,这可以执行逻辑。

    var color =0;

    $(trial[4]).each(function(){color= $(this).output()}); 

     alert([color]); 

    if (color <5 ){ icon= pinImageBlue} else if (color>11) {icon=pinImageRed} else {icon= pinImageGreen}

但是,当我按上述方式填充DIV时,警报将显示代码而不是实际值。目前为了让插件工作,我使用jQuery 1.3.2作为较新的版本错误输出。对于映射,我使用谷歌v3 API和信息框API。

允许DIV显示内容的插件是:

    (function($){
      $.fn.output=function(d){
        return (this.is(":text")) ? this.val(d) : this.html(d)
      }
    })(jQuery);

有没有办法访问DIV中代码的实际值而不是代码本身?

1 个答案:

答案 0 :(得分:1)

是的,您正在寻找.text()

这是一个jsfiddle,我在其中运行您的代码并获取值。我是用jQuery 1.8.3

做的