jquery - 如何选择属性等于的div

标签 jquery

我无法通过根据属性值选择 div 来选择 div 的 html 内容。

我的html是这样的:

<div id="infowrap1" class="widgetInfobox" possition="1" wid="QI" style="">.....</div>
<div id="infowrap2" class="widgetInfobox" possition="2" wid="CP" style="">.....</div>
<div id="infowrap3" class="widgetInfobox" possition="3" wid="PP" style="">.....</div>
<div id="infowrap4" class="widgetInfobox" possition="4" wid="MT" style="">.....</div>

假设我想获取 possition=1 的 div 的 html() ... 我尝试使用

var p1=$(".widgetInfobox [possition='1']").html();
alert(p1); 

..但我得到“未定义”,如果我仅提醒 $(".widgetInfobox [possition='1']") 我得到 [object Object]。如果我选择 .text() 我会得到空字符串。

我该怎么做? 提前致谢

最佳答案

jQuery 的 sizzle 选择器引擎遵循 CSS 规则。因此,要使用多个子句选择元素,不应在它们之间添加空格。试试这个:

var p1 = $(".widgetInfobox[possition='1']").html();

还应该注意的是,possitionwid 不是 div 元素的标准属性。使用它意味着您的 HTML 无效。您应该使用 data-* 属性:

<div id="infowrap1" class="widgetInfobox" data-position="1" data-wid="QI" style="">.....</div>
<div id="infowrap2" class="widgetInfobox" data-position="2" data-wid="CP" style="">.....</div>
<div id="infowrap3" class="widgetInfobox" data-position="3" data-wid="PP" style="">.....</div>
<div id="infowrap4" class="widgetInfobox" data-position="4" data-wid="MT" style="">.....</div>
var p1 = $(".widgetInfobox[data-position='1']").html();

关于jquery - 如何选择属性等于的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31403023/

相关文章:

Jquery Jtable 对齐字段

javascript - 使用jquery将文本高度调整为图像高度

jquery - 如何在第5个零之后加1?

javascript - 如果不是 "my operating system"更改 css - jquery

jQuery - 我看不到任何错误

javascript - 如何在单击按钮时在 'ui-body-a' 和 'ui-body-b' 之间切换

javascript - 即使使用直接 anchor URL,也会显示 Spinner,直到 Mathjax 加载

JQuery slider 未传递十分之几的值

javascript - 制作带有延迟的循环 slider

asp.net - 使用 Javascript/jQuery 更改 Telerik RadEditor 的值