获取jquery格式的值

Get jquery formatted value

本文关键字:格式 jquery 获取      更新时间:2023-09-26

我有一个这样的div:

<td id="length" data-length=<?php echo $length;?> >

我想在jquery脚本中获得php变量($length)的值。

之后,我必须将其格式化,将逗号替换为point。

使用下面的代码片段:

var $length         = jQuery(this).find("#length");
console.log($length.data('length'));

我看到读取我的变量在控制台

但是当我想用一个点来代替逗号时,就像这样:

console.log(parseFloat($length.val().replace(",", ".")));

我得到NaN

请帮忙解决这个问题!

您缺少data-length值周围的引号。像这样修改你的HTML标记:

<td id="length" data-length="<?php echo $length;?>" >

接下来,你不想要val()你想要data('length')

console.log(parseFloat($length.data('length').replace(",", ".")));

您在<td>上使用.val()而不是.data()

 // Here you're using .data()
console.log($length.data('length'));
 // Here you're using .val() which is wrong.
console.log(parseFloat($length.val().replace(",", ".")));

如果PHP中$length变量的值将输出包含逗号,那么您必须做的第一件事是纠正标记:

<td id="length" data-length="<?php echo $length;?>" >

你需要引号,所以结果看起来像这样的浏览器:

<td id="length" data-length="1,23" >

:

var $length         = jQuery(this).find("#length");
console.log(parseFloat($length.data("length").replace(",", ".")));

…应该在日志中给你"1.23"(给出我上面的示例值)。


也许值得注意:我会避免使用id值"length"。这是一个太常见的词,不幸的是,id名称空间与各种各样的混淆在一起,特别是在IE上。

你的代码不太正确,你试图替换包含td#length元素的jQuery对象中的逗号,试试这个:

var length = $("#length").data("length");
console.log(parseFloat(length.replace(",",".");

另外,你的HTML应该在每个属性的值周围加上引号,像这样:

<td id="length" data-length="<?php echo $length;?>">

console.log(parseFloat($length.attr("data-length").replace(",", ".")));