如何选择与'这'在javascript中
How to select element relative to 'this' in javascript
我有以下内容:
<div class="tab-pane" id="message">
<textarea rows="4" cols="50" id="send_message" placeholder="Enter text ..."> </textarea>
<a href="#message" class="btn btn-large btn-info" data-toggle="tab">OK</a>
<a href="#message" class="btn btn-large btn-info" data-toggle="tab">Cancel</a>
我想将click方法绑定到"div"元素,当单击其中一个子"a"元素时,执行单独的操作。我试图使用按钮文本来区分它们,但以下内容不起作用:
$(function(){
$('#message').click(function(){
if($(this + ">a").is(":contains(OK)")) {
console.log("OK!!");
我该怎么解决这个问题?
好的,有两种方法:
.fund(选择器)
if(this).find("a").is(":contains(OK)")) {
console.log("OK!!");
或
$(选择器,上下文)
if("a",this).is(":contains(OK)")) {
console.log("OK!!");
在javascript中,this
本质上是当前函数的上下文。在jQuery事件回调中,this
被设置为事件的源元素,而不是选择器字符串,这就是您将其视为的。
相反,您想做一个测试,比如:if($("a", this).is(":contains(OK)")) {
这是因为jQuery选择器的第二个参数是要搜索的上下文,所以您只搜索单击的源元素下的a
标记。
将click元素绑定到div,然后检查A标记的文本字符串将使这两个事件在每次单击时都发生。您希望在每个A标记上绑定2个单独的单击事件。为每个A标签添加一个ID,然后尝试此代码
$('#okLinkID').click(function(){
console.log("OK!!");
});
$('#cancelLinkID').click(function(){
console.log("Cancel!!");
});
//只将一个侦听器附加到#messagediv,并侦听其中要单击的任何"a"元素。
$('a','#message').on('click',function(){
var $this = $(this),
btnText = $this.text();
console.log(btnText);
});
http://jsfiddle.net/YA7Ds/
相关文章:
- SVG/JavaScript:尝试选择和更改多边形点
- 正在搜索JavaScript日期选择器滑块
- Jquerymobile-使用javascript创建选择菜单
- 注入Javascript以选择具有指定值的所有单选按钮
- 在Javascript中选择Dynamicly Created单选按钮组并显示内部文本
- 用于使用javascript循环选择选项
- Javascript字母选择没有'我不能在谷歌浏览器上工作
- Javascript Regex选择每个非字母数字字符和空白
- 复制Javascript日期选择器
- 使用javascript动态选择幻灯片放映的图像
- 使用javascript填充选择框
- 如何在数组javascript中选择伪随机值
- 如何在一个onclick按钮上使用一个javascript函数选择多个文本字段
- 如何使用JavaScript/jQuery选择图像的多边形区域
- Javascript-Coldfusion-选择后自动填充
- JavaScript:更新<选择>给定月份输入的天数列表
- 无法使用 Javascript 禁用选择字段
- javascript日期选择器检测输入字段中更改的值
- 如何在Javascript中选择多个类而不是id
- 是否可以在Internet Explorer 11中使用JavaScript设置选择元素的大小属性