我有以下内容:
<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>
当我添加:
if($(this).is(":contains(Cancel)")) {
var text= $("#send_message").val();
log.console(text)
我得到了正确的值
如果我将该行更改为:
var text= $(this).find("#send_message").val();
我未定义登录到控制台。这是为什么?
这是完整的jQuery函数:
$(function(){
$('#message').on("click", "a", function(){
if( $(this).is(":contains(OK)") ) {
console.log("im in OK!!");
}
else if( $(this).is(":contains(Cancel)") ) {
// var text= $("#send_message").val();
var text= $(this).find("#send_message").val();
console.log(text);
console.log("im in cancel!!");
}
});
});
答案 0 :(得分:1)
确保您使用ID消息关闭div,并使用$('#send_message')
。将find
与id
selector一起使用绝对没有意义,因为您知道ID应该是唯一的(否则它是无效的HTML)。
引用W3C:
元素的唯一标识符。 文档中不得有多个具有相同id值的元素。
答案 1 :(得分:1)