我想使用.EAT和.ATTR函数获取DIV ID。我知道该怎么做,但是我想做的就是用某个类别从DOM中获取每个DIV ID(例如,“编辑”类),并将某些数据应用于该div。

这是我遇到的麻烦:我想将该特定div的ID放在.east循环中。例如:如果我想在.ppend中放置一个链接,我希望该链接为 http://www.website.com/index.php?id=1&div=div-id

任何想法,我有点是新手,所以您可以提供代码示例。我了解attr和。

有帮助吗?

解决方案

http://jsfiddle.net/wrglc/1/

为了将其保存在此页面上:

html:

<div id="1" class="edit">A</div>
<div id="2" class="edit">B</div>
<div id="3">C</div>

JS:

// Anonymous loop, in case you copy and paste this script, the vars won't get confused
(function() {

    // Loop for each .edit
    $('.edit').each(function() {

        // Update the text inside
        $(this).html('http://www.website.com/id='+$(this).attr('id'));

    });

})();

其他提示

这是一个未经测试的解决方案,看起来应该有效。如果有多个类分配给 div 元素。

$(function() {
    $('div').each(function() {
        var _t = $(this);
        var id = _t.attr("id");
        if(_t.attr("class") == "someClass") {
            _t.append("<a href = 'http://www.website.com/index.php?id=1&div="+id+"'>Hello World!</a>");

        }
    });
});

我猜。你要这个?

$( '.edit' ).append( function () {
    return '<a href="http://www.website.com/index.php?id=1&div=' + 
        this.id + '">link</a>';
});

思考 我正确解释了您的条件:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
        <div id="a" class="edit">A</div>
        <div id="b" class="edit">B</div>
        <div id="c">C</div>
        <div id="d" class="save">D</div>
        <div id="e" class="edit">E</div>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
        <script type="text/javascript">
            (function ($) {
                $("div.edit").each(function (i) {
                    var $div = $(this);
                    $div.append('<a href="http://www.website.com/index.php?id=1&div=' + $div.attr("id") + '">Link</a>');
                });
            })(jQuery);
        </script>
    </body>
</html>

更新: @johnhartsock是正确的。这里不需要每种方法。我会按照以下方式调整我的代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8"/>
    </head>
    <body>
        <div id="a" class="edit">A</div>
        <div id="b" class="edit">B</div>
        <div id="c">C</div>
        <div id="d" class="save">D</div>
        <div id="e" class="edit">E</div>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
        <script type="text/javascript">
            (function ($) {
                $("div.edit").append(function () {
                    var $div = $(this);
                    $div.append('<a href="http://www.website.com/index.php?id=1&div=' + $div.attr("id") + '">Link</a>');
                });
            })(jQuery);
        </script>
    </body>
</html>

我不认为对每个()的呼叫是必要的。和 附加() 您可以通过一个功能,其中代表选择器的当前迭代。

$('div.mydivclass').append(function () {
  return '<a href="http://www.website.com/index.php?id=1&div='+ this.id + '">My Div link</a>';
});

这是小提琴 http://jsfiddle.net/wfd7k/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top