我有(已更新) html:
<div>
<div class="checkBox">
<input type="checkbox" name="toppings" class="NS" value="n" />
</div>
No Sauce
</div>
<div>
<div class="checkBox">
<input type="checkbox" name="toppings" class="NC" value="x" />
</div>
No Cheese
</div>
<div>
<div class="checkBox checkBoxSelected">
<input type="checkbox" name="toppings" class="no_submit" checked="checked" value="" />
</div>
Regular Cheese
</div>
<div>
<div class="checkBox">
<input type="checkbox" name="toppings" class="no_submit" value="" />
</div>
Regular Sauce
</div>
我如何(通过jquery)获取包含文本&#34; Regular Cheese&#34;?的div中的输入类型?
我知道我可以获得这样的所有复选框:
$("input.no_submit:checkbox")
我明白如果我想影响项目的父div,我可以这样做:
$("input.no_submit:checkbox").parent("div").removeClass("checkBoxSelected");
我可以得到这样的实际文字:
var myText = $("div").text();
但是我无法弄清楚如何组合它们以便我可以设置一个var指向嵌套div中的实际输入元素,嵌套div本身位于无类div中,其文本是特定字符串。
答案 0 :(得分:1)
或在此处进行不同的演示::)
http://jsfiddle.net/NBGBP/
希望它符合需要!
代码
$(document).ready(function() {
$('.no_submit').click(function() {
if ($(this).is(':checked')){
alert('Div text ==> ' + $(this).parents('div').text());
}
});
});
答案 1 :(得分:1)
您可以使用:contains()进行过滤,以查找“常规奶酪”文本。将它分成过滤器而不是div:contains将是一个更快的选择器。然后,您想要找到父div中的输入并打印出它的类型。
$("div").filter(":contains('Regular Cheese')")
.find("input.no_submit").prop("type");
答案 2 :(得分:0)
试试这个
$('div:contains("Regular Cheese") input.no_submit')
参考: