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

HTML attribute passed incomplete in a javascript function call

本文关键字:属性 HTML javascript 函数调用      更新时间:2023-09-26

在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"

这样尝试在此处使用jquery演示

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

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

使用Jquery

$('#selectCircle').click(function(){
var circle = $(this).attr('circle');
alert(circle);
});
  1. 您的变量(var circleName = "Andhra Pradesh";)应该在script块中,构建li的代码也应该在其中
  2. 您正在构建一个具有属性的HTML字符串,该属性的值基于您的变量,但您需要将单引号括在双引号内(circle='" + circleName + "'

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>

在你的html:中试试这个

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

您的circle属性中缺少引号。