学习Javascript-基于点击的是非宏
我可能会因为这个问题而大吃一惊,因为它无疑是非常基本的Javascript。请原谅语法,我想看看我的逻辑是否正确,是否有更好的方法 我正在尝试创建一个宏。宏应返回访问者选择的按钮,是或否。在特定页面上,要求网站访问者单击两个按钮中的一个:是按钮或否按钮。这是:学习Javascript-基于点击的是非宏,javascript,jquery,Javascript,Jquery,我可能会因为这个问题而大吃一惊,因为它无疑是非常基本的Javascript。请原谅语法,我想看看我的逻辑是否正确,是否有更好的方法 我正在尝试创建一个宏。宏应返回访问者选择的按钮,是或否。在特定页面上,要求网站访问者单击两个按钮中的一个:是按钮或否按钮。这是: <footer> <button id="NoBtn">No</button> <button id="YesBtn" type="submit">Yes</butto
<footer>
<button id="NoBtn">No</button>
<button id="YesBtn" type="submit">Yes</button>
</footer>
不
对
下面是我创建宏的尝试。我相信有更好的办法。请告诉我。我想跟踪访问者单击的按钮:
<script>
var confirmChoice = "none"
$('#NoBtn').click(function(event){
confirmChoice = $(this).textContent;
});
$('#YesBtn').click(function(event){
confirmChoice = $(this).textContent;
});
return confirmChoice
</script>
var confirmChoice=“无”
$('#NoBtn')。单击(函数(事件){
confirmChoice=$(this).textContent;
});
$('#YesBtn')。单击(函数(事件){
confirmChoice=$(this).textContent;
});
返回确认选择
这是“对”吗?我的逻辑正确吗?有更简单的解决方案吗?最简单的方法是这样
var confirmChoice = 'none';
$(document).ready(function() {
$('button').click(function() {
confirmChoice = $(this).text();
});
});
通过这种方式,您可以使用单个事件来跟踪单击按钮,然后返回单击按钮的文本属性。这里是使用css类的一种更简单的方法,假设您希望用更少的代码来完成 HTML
<footer>
<button class="btnOption" id="NoBtn">No</button>
<button class="btnOption" id="YesBtn" type="submit">Yes</button>
</footer>
1)你认为什么是“宏观”?2) jQuery对象没有属性
textContent
,这是DOM元素的属性。3) 只能从函数返回。您希望return
语句在这里做什么?既然您建议原谅语法,我假设这不是有效的代码?return
语句仅在函数内部工作,其中有东西向函数请求数据,而函数return
s是一个结果。在这里,你没有要求提供数据,那么数据将用于何处?@FelixKling感谢你的跟进。我希望宏根据单击的按钮返回“是”或“否”。如果未单击任何按钮,则宏应返回“无”。好的,关于文本内容,也许我会尝试innerHTML?PS作为上下文。这个宏正在与Google标记管理器一起使用。此工具允许您动态添加脚本,以便在整个分析跟踪安装过程中重复使用。宏的目的是根据访问者单击的两个按钮中的哪一个返回“是”或“否”字符串“JavaScript宏必须包含带有返回语句的函数”这是标签经理在我尝试时告诉我的。因此,我添加了return confirmChoice,首先在最后一个大括号之前,然后在最后一个大括号之前,然后在函数中的…text()下面;但我收到一条错误消息“第2行的错误,字符4:应为Parse error.primary expression。”?以下是我尝试的内容,似乎无法通过标记管理工具进行验证:$(“#(否| Yes)Btn”)。单击(函数(){var btnChoice=($(this).text();return btnChoice;});你能看到任何不寻常的东西吗?这不会有任何用处,因为我使用的工具的目的是假设你(分析员)无法控制网站html。如果有一种方法可以编写一个正则表达式,比如$(“#(否| Yes)Btn”)。单击(函数(){可以工作。这可能吗?只是尝试了一下——“JavaScript编译器错误YesNoButton1(有问题的宏)错误在第4行,字符6:解析错误。”)”应该是“预期的”已发布的答案是对初始问题的有效答案。您能否修改您的问题并帮助解释更多详细信息?可能不是代码本身,而是您作为目标用户将受到的环境/限制。我已设法使其“起作用”我正在使用的工具允许代码通过。但它没有达到我预期的效果。然而,这超出了这个问题的原始范围,将涉及到一些漏洞。尽管如此,还是感谢您的回答
$(".btnOption").click(function () {
alert($(this).text() );
});