如何从区域href中激发JS函数
How to fire JS function from area href
我有一张图片,上面有这样的链接图(用PHP生成):
<map name="map_bc-03" id="map_bc-03">
<area shape="circle" coords="166,28,12" href="#" onClick="changeCount('plus','bc-03');">
<area shape="circle" coords="166,82,11" href="#" onClick="changeCount('minus','bc-03');">
</map>
我正在尝试启动一个名为changeCount(type,product)
的JS函数。
JS函数的目的是获取HTML元素(<span>
)的当前值,并将其加1(x+1)。JS函数看起来像:
function changeCount(type,product)
{
if ( type == "plus" )
{
$("#count_" + product).val() = $("count_" + product).val() + 1;
}
}
问题是1/JS函数没有被触发,错误消息为"ReferenceError:changeCount未定义",我不明白为什么函数定义得那么清楚。。。。
问题编号2/JS函数本身会导致"ReferenceError:后缀操作中的左侧表达式无效"错误(即使未触发)。。。。
非常感谢您的帮助!
val()
用于表单元素。对于<span>
,您需要html()
或text()
。试试这个
function changeCount(type,product){
if ( type == "plus" ){
$("#count_" + product).text(function(index, val){
return parseInt(val)+1;
});
}
}
使用val(value);
而不是val() = value;
。
重要的是,
如果您的目标选择器是输入或任何表单元素,则使用.val()
。否则,如果它是div
、span
中的任何一个或任何其他非形式元素,则使用.text()
而不是.val()
。因为,非表单元素没有任何值。
根据您的问题,您的目标是<span>
。所以,我认为你必须使用.text()
。
function changeCount(type,product)
{
if ( type == "plus" )
{
$('#count_'+ product).text(Number($('#count_' + product).text()) + 1);
}
}
应该是
$("#count_" + product).val() = parseInt($("#count_" + product).val()) + 1;
获取值时缺少"#",应使用parseInt。
相关文章:
- 当js函数's已执行
- 调用php数组中的JS函数
- 为JS函数添加延迟
- 我如何制作一个JS函数,它可以从相似的原始颜色双向更改为某个颜色
- 使用JS函数来使用另一个函数的语法?node.js
- 将JS函数传递给Emscripten生成的代码
- 是否可以在使用headerphp函数后自动调用JS函数
- 如何在.js函数中检索来自其他模板的表单的目标值
- 简单的JS函数.需要对变量进行澄清
- 无法识别从php创建的Js函数
- 如何将对象传递给这个js函数
- 全局窗口热键在最小化chrome窗口时调用js函数
- 将重定向URL链接添加到JS函数
- 从PHP调用JS函数不起作用
- js函数堆栈传入变量,.hide()不起作用
- 当运行JS函数时,如何在c#中的Edgejs中获取错误文本
- 如何让JS函数自行执行
- 使用默认js函数的javascript中的日期的第二天
- 如何从页面中的jquery调用angular js函数控制器
- 从.js文件调用html中的js函数