包含方法和突出显示元素的问题
Issue with the contains method and highlighting elements
我想突出显示一个包含在文本框中写入的字符串的元素。这是代码中应该执行的部分:
$("#rightContainer .magnifier").click(function () {
var a = $("#searchBox").val();
if (a != "") {
var foundin = $('div:contains(a)');
foundin.addClass("highlighted");
alert(a);
}
})
问题是整个页面都被突出显示了。我假设发生这种情况是因为我有一个主容器,它有它的子容器,所以contains方法选择整个主容器。是这样还是因为其他原因,有人有更好的方法吗?提前谢谢。
:contains
选择器将返回包含您正在搜索的文本的任何元素,在本例中为"a"
。这与名为a
的变量无关。也许你想做这样的事情:
$("#rightContainer .magnifier").click(function () {
var a = $("#searchBox").val();
if (a != "")
{
var foundin = $("div:contains('" + a + "')");
foundin.addClass("highlighted");
alert(a);
}
})
如果我理解正确,你只想突出显示包装搜索框的div,而不是任何其他div。使用closest()查找该div。
$("#rightContainer .magnifier").click(function () {
var a = $("#searchBox").val();
if (a != "")
{
$("#searchBox").closest('div').addClass('highlighted');
}
})
相关文章:
- Small Javascript从动态表单中删除多个元素的问题
- 使用javascript删除元素时出现的问题
- 获取要引发的fadeIn元素时出现问题
- 使用AngularJS UI路由器时出现元素绑定问题
- 访问带有变量的Object元素时出现问题
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 在方形空间 (YUI) 上重绘元素时出现问题
- firefox中的浮动元素问题
- qTip和动态添加的元素问题
- Jquery中关于同一元素问题的关联脚本
- 拼接删除JavaScript中的随机元素问题
- 索引编号的JavaScript克隆表单元素问题
- 元素问题在IE中的位置
- 自定义元素问题:视图模型中的ref元素为null
- Javascript Div元素问题
- 自定义删除 DOM 元素问题
- 隐藏元素问题
- 附加元素问题
- iOS上的滚动粘滞元素问题
- html上的Javascript Canvas元素问题