我有这个div:
<div>
<label>Big Name
<span class="small">Suggestion text</span>
</label>
<input type="text" onfocus="getSuggestion(this);">
</div>
我要做的是在输入焦点上使用“getSuggestion()”函数获取'span'中的文本。
这是我试过的:
function getSuggestion(obj) {
var father_div = $(this).parent();
var span = $(father_div ).find("span").html();
}
但它不起作用。我做错了什么?
答案 0 :(得分:3)
您不需要加倍$(..)
试试这个
var span = father_div.find("span").html();
和
function getSuggestion(obj) {
var father_div = $(obj).parent();
var span = father_div.find("span").html();
}
函数中的 this
命名为obj
...
答案 1 :(得分:0)
$(this)
应为$(obj)
,father_div
本身也是jQuery元素
function getSuggestion(obj) {
var father_div = $(obj).parent();
var span = father_div.find("span").html();
}
答案 2 :(得分:0)
.html()
不返回jquery对象,而是返回father_div的html内容。如果你想把它保存到它,你就要分开一行:
function getSuggestion(obj) {
var father_div = $(obj).parent();
var span = $(father_div ).find("span")
span.html();
}
并且更聪明的人说将此更改为obj
答案 3 :(得分:0)
您也可以使用jquery .closest(selector)
var span = $(this).closest('span').html();