在javascript函数调用中传递的HTML属性不完整

时间:2015-03-25 06:39:17

标签: javascript jquery html

在Javascript函数调用中传递的HTML属性不完整

在下面找到我的代码:

var circleName ="Andhra Pradesh";
<li><a onclick='selectCircle(this);' href='javascript:void(0);' circle="+circleName+">

<script type="text/javascript">
function selectCircle(hre) {
var circle = $(hre).attr('circle');
alert(circle);    
</script>

在警报中我只得到“Andhra”或者如果我通过“UP west”我在警报中得到“uP”

3 个答案:

答案 0 :(得分:0)

在你的html中试试这个:

<li><a onclick='selectCircle(this);' href='javascript:void(0);' circle='"+circleName+"'>

您的圈子属性中缺少引号。

答案 1 :(得分:0)

尝试使用jquery Demo Here

在你的代码中,concat是错误的

<li><a onclick='selectCircle(this);' href='javascript:void(0);' circle='"+circleName+"'>

使用Jquery

$('#selectCircle').click(function(){
var circle = $(this).attr('circle');
alert(circle);

});

答案 2 :(得分:0)

  1. 您的变量(var circleName = "Andhra Pradesh";)应位于script块内,构建li的代码也应如此。
  2. 您正在构建一个HTML字符串,其中的属性值基于您的变量,但您需要在双引号(circle='" + circleName + "'
  3. 中包含单引号

    var circleName = "Andhra Pradesh";
    var circleNameText = "Andhra Pradesh Circle"; // the text could be same as name, or different.
    var $listItem = $("<li><a onclick='selectCircle(this);' href='javascript:void(0);' circle='" + circleName + "'>" + circleNameText + "</a></li>");
    $("#list").append($listItem);
    
    function selectCircle(hre) {
      var circle = $(hre).attr('circle');
      alert(circle);
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <ul id='list'></ul>