在javascript中,从以字母开头的字符串(例如"test [123]")解析INT的最佳方法是什么?我需要一些适合下面例子的东西.
我的JS:
$(document).ready(function() {
$(':input').change( function() {
id = parseInt($(this).attr("id")); //fails for the data below
alert(id);
});
}
Run Code Online (Sandbox Code Playgroud)
我生成的HTML:
<select id="attribute[123]">
<!-- various options -->
</select>
<select id="attribute[456]">
<!-- various options -->
</select>
Run Code Online (Sandbox Code Playgroud)
谢谢!
问题:如何从id中提取元素?
HTML:
<div class="product">
<p id="price1">99,00</p>
</div>
<div class="product">
<p id="price2">101,00</p>
</div>
<div class="product">
<p id="price3">50,00</p>
</div>
<div class="product">
<p id="price4">1,99</p>
</div>
<div class="product">
<p id="price5">2,01</p>
</div>
Run Code Online (Sandbox Code Playgroud)
JS:
var sumPrice = 0;
$(".product").click(function() {
if ( i = 1) sumPrice += parseFloat($( "#price" + i ).text())
else if ( i = 2) sumPrice += parseFloat($( "#price" + i ).text())
else if ( i = 3) sumPrice += parseFloat($( "#price" + i ).text())
else if ( i = 4) sumPrice …Run Code Online (Sandbox Code Playgroud) 我是jQuery的新手(1.5个月),我发现自己正在开发一个我不太喜欢的PHP + jQuery习惯.我想知道是否有人有建议让事情更优雅.考虑通过执行简单的SQL查询并使用PHP回显我生成的以下HTML:
<div id='boat_1' class='boat speedboat'></div>
<div id='boat_2' class='boat dory'></div>
<div id='car_1' class='car racecar'></div>
<div id='car_2' class='car racecar'></div>
Run Code Online (Sandbox Code Playgroud)
如您所见,我选择了后面的id命名约定{type}_{id}.现在,在jQuery中,假设我想将一个单击处理程序绑定到这些car div.记住它们是动态的,可能有任意数量,我会执行:
$(".car").bind('click', function(){
//do something
});
Run Code Online (Sandbox Code Playgroud)
但通常情况下,//do something我想知道哪辆车开了点击事件.此外,这//do something可能需要分离类型(船或汽车)和id执行POST操作并写回数据库...(例如)
我现在正在做的是找到id(以及我需要的其他独特信息)很简单,但对我来说,它闻起来:
$(".car").bind(function(){
var id = $(this).attr("id").replace("car_", "");
});
Run Code Online (Sandbox Code Playgroud)
有人可能会建议使用class属性,因为您不必担心唯一性.但是因为类名不是单数(每个元素可以有多个,如我所示),我不认为这是候选解决方案.
因为id在整个文档中必须是唯一的,所以这是我已经解决的解决方案.我知道getElementById()会在多个同名的ID成为可能的情况下中断,但有时我想知道如果id不必是唯一的,只要它们有不同的父级,这是否有益.
你怎么做呢?
我应该使用HTML5 data-*吗?
谢谢!