使用jquery基于多个元素进行选择

时间:2015-11-18 22:07:41

标签: jquery

我无法找出正确的方法来要求它得到正确的答案,我确信答案在所有地方都存在,但最终我找不到它。

那么如何基于多个html元素进行选择?

$(function () {
$.post("draft-autosave.php", function (data) {
    $(".replyform,[name='sender_name']").not(".forwardform, [name='sender_name']").val(data.sender_name);
    $(".replyform,[name='receiver_name']").not(".forwardform, [name='receiver_name']")..val(data.receiver_name);
    $(".replyform,[name='subject']").not(".forwardform, [name='subject']").val(data.subject);
    $(".replyform,[name='body']").not(".forwardform, [name='body']").val(data.body);
}, "json");
setInterval(function () {
    $.post("draft-autosave.php", $("form").serialize());
}, 2000);
});

我试着说:根据名称=从表格class =“replyform”中选择4个输入,而不是在同一页面上使用class = forwardform从第二个表单中选择相同的输入名称=字段。

这是否更清晰?

2 个答案:

答案 0 :(得分:1)

$("outterdiv1.classname, innerdiv1.classname, [name='variable']").not("outterdiv2.classname, innerdiv2.classname, [name='variable']").val(whatever)

我希望这是有道理的

答案 1 :(得分:0)

使用逗号分隔它们。

$("[outterdiv1.classname], [innerdiv1.classname], [name='variable']").val(data.sender_name);

我不确定[name='variable']是否是有效的选择器,因此您可能希望在选择器之前添加一个元素,如div[name='variable'],但我不确定。

示例:如果您的元素如下所示:

<div class="number">
    <div class="innerdiv"></div>
</div>

您可以通过以下方式选择所有这些:

$("div.number, .div.innerdiv")

您的HTML如何?通过查看您的示例,有些会相互抵消,这是您不想要的。如果你想“不”选择元素,你可以这样做:

$("selector").not("selectors")
//OR THIS
$("selector:not('selectors')")