如何在javaScript中获取div名称?
我想在如何在javaScript中获取div名称?,javascript,jquery,html,Javascript,Jquery,Html,我想在alert(name)中获取div名称,但它给出的是“未定义”。这些值来自数据库。所有其他警报都正常工作 这是我的HTML代码 <input class="rating form-control input-star-rate" id="<?php echo $rateid; ?>" name="<?php echo $arate_num; ?>" value="<?php echo $ratea; ?>" data-min="0" data-ma
alert(name)
中获取div名称,但它给出的是“未定义”。这些值来自数据库。所有其他警报都正常工作
这是我的HTML代码
<input class="rating form-control input-star-rate" id="<?php echo $rateid; ?>" name="<?php echo $arate_num; ?>" value="<?php echo $ratea; ?>" data-min="0" data-max="5" data-step="0.3" data-size="xs" style="display: none; text-align: center;" onchange="changeRate(this)"/>
在javascript中使用getAttribute
id.getAttribute("name");
或
在jquery中
$(id).attr("name");
注意:在代码中,这将显示
undefined
id.name
,因此更改为id.getAttribute(“name”)代码>在javascript中使用getAttribute
id.getAttribute("name");
或
在jquery中
$(id).attr("name");
注意:在代码中,这将显示undefined
id.name
,因此更改为id.getAttribute(“name”)代码>不要通过将其id分配给原始的id变量来更改该变量。试着用像
不要通过将原始id变量的id指定给该变量来更改该变量。试着用像
如果该id被正确警告,那么问题只在于您将该id覆盖为id.id。为id输入的id使用不同的变量名。如果id被正确警告,那么问题只在于您将id改写为id.id。为id输入的id使用不同的变量名。问题在于您在函数中重新分配了id
变量值:
function changeRate(id) {
// ...
var id = id.id;
// ...
}
之后,id.name
当然是未定义的,因为id
不再是一个HTMLInputElement对象,而只是一个字符串,当然它没有name
属性
通常,id
不是DOM元素参数引用的好名称。最好将其命名为obj
,以避免与id
属性混淆:
function changeRate(obj) {
var ratingValue = obj.value;
var ratingValue2 = parseFloat(ratingValue);
alert(ratingValue2);
var ratingValuePrevious = obj.getAttribute('value');
var ratingValuePrevious2 = parseFloat(ratingValuePrevious);
alert(ratingValuePrevious2);
var id = obj.id;
alert(id);
var name = obj.name;
alert(name);
}
问题是因为在函数中重新指定了id
变量值:
function changeRate(id) {
// ...
var id = id.id;
// ...
}
之后,id.name
当然是未定义的,因为id
不再是一个HTMLInputElement对象,而只是一个字符串,当然它没有name
属性
通常,id
不是DOM元素参数引用的好名称。最好将其命名为obj
,以避免与id
属性混淆:
function changeRate(obj) {
var ratingValue = obj.value;
var ratingValue2 = parseFloat(ratingValue);
alert(ratingValue2);
var ratingValuePrevious = obj.getAttribute('value');
var ratingValuePrevious2 = parseFloat(ratingValuePrevious);
alert(ratingValuePrevious2);
var id = obj.id;
alert(id);
var name = obj.name;
alert(name);
}
试试下面的代码,让我知道它是否适合你
var name = document.getElementById(id).attributes["name"].value;
alert(name);
试试下面的代码,让我知道它是否适合你
var name = document.getElementById(id).attributes["name"].value;
alert(name);
我不确定您是如何调用changeRate()函数的,但我想如果您能够在alert(name)之前编写的警报中看到正确的值,那么您就可以正确地调用它了
现在是警报点(名称),如上述注释id.getAttribute(“名称”)应该可以解决您的问题。
如果问题没有解决,请告诉我们完整的stacktrace。我不确定您是如何调用changeRate()函数的,但我想如果您能够在alert(name)之前编写的警报中看到正确的值,那么您就可以正确地调用它
现在是警报点(名称),如上述注释id.getAttribute(“名称”)应该可以解决您的问题。
如果问题未解决,请告知完整的stacktrace。试试这个
var name = id.getAttribute('name');
alert(name);
试试这个
var name = id.getAttribute('name');
alert(name);
试试$('input').attr('name')代码>您确定$arate_num变量包含值吗?按F12键并检查开发工具中的元素时,“name”是否有值?请尝试$('input').attr('name')代码>您确定$arate_num变量包含值吗?当您按下F12键并检查开发工具中的元素时,“name”是否有值?