jQuery选择器问题

时间:2015-07-14 13:01:33

标签: javascript jquery jquery-selectors

我有一些用手柄呈现的标签'信息,这是我的HTML:

    <ul class="nav nav-tabs" id="tabsId">
        <script id="tabs-template" type="text/x-handlebars-template">
            {{#each Tabs}}
                <li data-tab-content={{Id}}><a href="#">{{Name}}</a></li>
            {{/each}}
        </script>
    </ul>
    <div id="tabsContentId">
    <script id="tabs-content-template" type="text/x-handlebars-template">
        {{#each Tabs}}
            <div class="tab-content" data-tab-content="{{Id}}">{{Content}}</div>
        {{/each}}
    </script>
    </div>

现在我正在编写一个函数,当我双击任何选项卡时,它将填充我未来的表单。我只管理了如何获取ID,我不明白如何获取名称和内容值。我试过使用jQuery .text()函数,但我失败了。这是我的功能:

$(function() {
    $("#tabsId").on("dblclick", "li", function(evt) {
        evt.preventDefault();
        var id = $(this).data("tabContent");
        //var name = ?
        //var content = ?
        $('#inputIndex').val(id);
        //$('#inputTitle').val(name);
        //$('#textareaContent').val(content);       
    });
});

3 个答案:

答案 0 :(得分:2)

data-tab-content

注意:这仅适用于LI和选项卡DIV使用相同的集合。否则,您需要通过$images_dir = '/www/images/walls/'; $new_file_name = 'WinterIsComing.jpg'; $target_file = $images_dir . $new_file_name; if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) { echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded."; } else { echo "Sorry, there was an error uploading your file."; } 属性找到它。

答案 1 :(得分:1)

使用$(this).text()然后您可以在dbclicked li中获取该名称。 使用$('#tabsContentId div[data-tab-content="' + id + '"]');,这样您就可以获得具有属性div的目标data-tab-content,其价值是您之前检索到的id

$(function() {
    $("#tabsId").on("dblclick", "li", function(evt) {
        evt.preventDefault();
        var id = $(this).data("tabContent");
        var name = $(this).text();
         alert("Name is :" + name);
         var targetDiv = $('div.tab-content[data-tab-content="'  + id + '"]');
         var content = targetDiv.text();
         alert("Content is :" +content);
        $('#inputIndex').val(id);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="nav nav-tabs" id="tabsId">
           <li data-tab-content="t1"><a href="#">I'm Name</a></li>
    </ul>
    <div id="tabsContentId">
            <div class="tab-content" data-tab-content="t1">Here's content</div>
    </div>

答案 2 :(得分:-1)

不完全确定您之后的内容,但这会获得第一个<a>元素的内部HTML,其中包含 href =&#34;#&#34; 点击的元素:

var name = $(this).find('a[href="#"]').first().html();