Javascript jQuery返回文本,但函数不更改值
正如您在图像中看到的,上面写着+10.00美元(如下红色所示)-这一位正是我试图删除的。 靛蓝色区域为:Javascript jQuery返回文本,但函数不更改值,javascript,jquery,Javascript,Jquery,正如您在图像中看到的,上面写着+10.00美元(如下红色所示)-这一位正是我试图删除的。 靛蓝色区域为: 红色战神是: 样例按钮包装为: 我试图用这段代码删除它,但没有成功 <script type="text/javascript"> // <![CDATA[ jQuery(document).ready(function(e) { checkswatches(); jQuery("span.swatch-label").c
红色战神是:
样例按钮包装为:
我试图用这段代码删除它,但没有成功
<script type="text/javascript">
// <![CDATA[
jQuery(document).ready(function(e) {
checkswatches();
jQuery("span.swatch-label").click(function(){
checkswatches();
});
});
function checkswatches(){
jQuery("span.select-label").each(function(){
var optiontext = jQuery(this).text();
var addsignpos = optiontext.indexOf('+');
var subtractsignpos = optiontext.indexOf('-');
if(addsignpos>0){
var result = optiontext.substring(0,addsignpos-1);
jQuery(this).html(result);
}
if(subtractsignpos>0){
var result = optiontext.substring(0,subtractsignpos-1);
jQuery(this).html(result);
}
});
}
// ]]>
</script>
// 0){
var结果=optiontext.子字符串(0,addsignpos-1);
jQuery(this).html(result);
}
如果(减去符号位置>0){
var结果=optiontext.子字符串(0,减去符号pos-1);
jQuery(this).html(result);
}
});
}
// ]]>
当我运行上述功能时,上图中显示的价格上涨仍然显示。
任何建议都将不胜感激 这应该有效:
function checkswatches(){
jQuery("span.select-label").each(function(){
jQuery(this).text(
jQuery(this).text().replace(/[+-]\$[0-9\.]+/g, "")
);
});
};
行
var optiontext=jQuery(this.text()代码>工作?checkswatches
没有return
语句。不确定您希望函数返回什么。。。您甚至没有对函数的返回值执行任何操作。或者你说的是另一种功能jQuery(“样例标签”)
使用了错误的选择器。顺便说一句,当函数运行时返回未定义的是什么意思?什么函数?请记住.text()
永远不会返回未定义的当运行jQuery(“span.select label”).text()
单独返回第一个匹配元素的文本。在内部运行时,each()
将获取每个元素的文本(第一个元素与jQuery(“span.select label”).text()相同,但其余元素不相同)。链接是否为jQuery(“span.select label”)
在文本被其他方法更改之前运行?原因是您不只是删除“+“在该代码中?函数正在工作。如果在调试器中单步执行,则会看到价格消失。然后,它会被一些对鼠标悬停在按钮上做出反应的东西添加回来。谢谢,但不幸的是,这不起作用。当嵌入到页面中时,会发生注释。当在控制台中运行时,它返回未定义的。@A为什么在没有return
语句的情况下,您仍然希望它返回一些东西?为什么返回值很重要,函数只是用来修改DOM。@Barmar很抱歉,我对控制台中的返回感到困惑。但是,此代码不会更改页面上的文本。我在示例页面上找不到这些元素