JQuery: выбрать текст элемента с определенным значением атрибута - PullRequest
1 голос
/ 23 ноября 2010

Я пытаюсь получить текстовое содержимое div в разметке ниже. Тем не менее, я не могу выделить текстовое содержимое div с помощью class = 'ui-selected'. Мне нужно "200", "х", "200". Как мне их получить?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.8.2r1/build/reset/reset-min.css">  <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.8.2r1/build/reset/reset-min.css">
<style>
    #selectable .ui-selecting { background-color:#2288FF; opacity:0.2; }
    #selectable .ui-selected { background-color:#2288FF; opacity:0.2; }
</style>

<script>
    $(document).ready(function() {
    $("#selectable").selectable();
    });

    $(function() {
        $( "#selectable" ).selectable({
            stop: function() {
                $( ".ui-selected", this ).each(function() {
                    alert ($("div[class='ui-selected'].text"));
                });
            }
        });
    });
</script>
<div id="selectable">
    <img src="http://placehold.it/200x200"></img>
    <div style="position: absolute; width:33px; height:22px; left: 54px; top: 91px; font-size: 21px; color: transparent;">200</div>
    <div style="position: absolute; width:10px; height:22px; left: 92px; top: 91px; font-size: 21px; color: transparent;">x</div>
    <div style="position: absolute; width:33px; height:22px; left: 106px; top: 91px; font-size: 21px; color: transparent;">200</div>
</div>

Ответы [ 2 ]

1 голос
/ 23 ноября 2010
$( ".ui-selected", this ).each(function() {
    alert ($("div[class='ui-selected'].text"));
 });

должно быть

var textyouwant = '';
$("div.ui-selected").each(function(){
    textyouwant += $(this).html();
});
alert(textyouwant);
0 голосов
/ 23 ноября 2010
alert ($("div[class='ui-selected'].text")); 

должно быть

alert ($(".ui-selected").text()); 

Я только исправил синтаксис, но вы должны принять во внимание, что $('.ui-selected') может соответствовать многим элементам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...