如何在javaScript中获取div名称?
问题描述:
我想获得alert(name)
的div名称,但它给出了“未定义”。这些值来自数据库。所有其他警报工作正常。如何在javaScript中获取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代码。
function changeRate(id) {
var ratingValue = id.value;
var ratingValue2 = parseFloat(ratingValue);
alert(ratingValue2);
var ratingValuePrevious = id.getAttribute('value');
var ratingValuePrevious2 = parseFloat(ratingValuePrevious);
alert(ratingValuePrevious2);
var id = id.id;
alert(id);
var name = id.name;
alert(name);
}
答
试试这个。
var name = id.getAttribute('name');
alert(name);
答
使用的getAttribute在JavaScript
id.getAttribute("name");
或
jQuery中
$(id).attr("name");
注意:在你的代码,这将显示undefined
id.name
所以改为id.getAttribute("name");
答
不要通过将其ID分配到相同的地方来更改原来的id variable
。并尝试使用getAttribute()一样,
var myid = id.id; // don't change your original variable, use myid instead
alert(myid);
var name = id.getAttribute('name');
alert(name);
答
如果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);
}
答
尝试下面的代码,让我知道它是否适合你。
var name = document.getElementById(id).attributes["name"].value;
alert(name);
答
我不知道你是如何调用changeRate()函数,但我想如果你能看到在之前的警报(名字)写的警报正确的价值观,那么你是正确的调用它。
现在来了警报点(名称),正如上面提到的注释id.getAttribute(“name”);应该可以解决你的问题。 如果问题没有解决,让我们知道完整的堆栈跟踪。
尝试'$('input')。attr('name');' – ochi 2014-12-19 06:54:44
您确定您的$ arate_num变量包含一个值吗?当您按F12并检查开发人员工具中的元素时,“名称”是否有值? – user3589536 2014-12-19 06:55:14