0

有没有办法阻止 jQuery 中的 attr() 函数冒泡 DOM 树(或向下)?我尝试了 stopPropagation() 函数,但它似乎不适用于 attr()。在我的代码中,我有一个在 attr() 上调用的函数,在该函数中,我还有 2 个其他 attr() 方法,我也调用了函数。我基本上有嵌套 foreach 循环的 jQuery 版本(但我尝试了每个() 但它没有用)。有没有其他方法可以停止冒泡?

我的 jQuery 代码:

$(document).ready(function() {

    $("#assessform_page").on("submit", "#assessform", function(e) {
        e.preventDefault();
        assessrows = {};
        url = $(this).attr("action");

        $("div").attr("data-test-num", function(k) {
                    k.stopPropagation();
            assessrows[k + 1] = {};
            $("input, select").attr("data-tab-row", function(v) {
                            v.stopPropagation();
                assessrows[k + 1][$(this).attr("data-tab-row")] = $(this).val();
            });
            $("label").attr("data-tab-row", function(v) {
                            v.stopPropagation();
                assessrows[k + 1][$(this).attr("data-tab-row")] = $(this).text();
            });
        });
        console.log(assessrows);

    });

});

我的 HTML 代码:

<form id="assessform" action="review.php" method="post" enctype="application/x-www-form-urlencoded" name="assessform">
    <div data-test-num="1">
        <label data-tab-row="objname">First Value: </label>
        <select autofocus="autofocus" data-tab-row="status">
            // options
        </select>
        <input type="text" data-tab-row="numer" value="" />
        <br />
        <br />
    </div>
    <div data-test-num="2">
        <label data-tab-row="objname">Second Value: </label>
        <select data-tab-row="status">
            // options
        </select>
        <select data-tab-row="numer">
            // options
        </select>
        <input type="hidden" data-tab-row="denom" value="1" />
        <br />
        <br />
    </div>
    <button type="submit" name="submit-button" id="submit-button">Submit</button>
</form>
4

0 回答 0