jQuery Selector como parámetro de función

En el siguiente código, intento pasar un selector jQuery listView a la función "makeObject" como parámetro. El problema que tengo es que el código no reconoce el método .listview del selector en la función "createList".

Me gustaría una solución que simplemente pase una cadena y reconstruya el selector dentro de la función llamada.

<head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
        function Object() {
            this.selector;
            this.createList;
        }

        function makeObject(selector) {
            var result = new Object();
            result.selector = selector;
            result.createList = createList;

            return result;
        }

        function createList() {
            this.selector.append("<li>list item 1</li>");
            this.selector.append("<li>list item 2</li>");
            this.selector.append("<li>list item 3</li>");
            this.selector.listview("refresh");
        }

        var selectorParam = $("#testList");
        var testObject = makeObject(selectorParam);
        testObject.createList();
    </script>
</head>

<body>
    <ul id="testList" data-role="listview"></ul>
</body>

preguntado el 28 de julio de 12 a las 17:07

Realmente no quieres sobrescribir Object -

Esailija, no estoy seguro de lo que quieres decir, ¿podrías dar más detalles? -

Speransky Danil, la función de vista de lista está integrada en los elementos seleccionados de vista de lista. -

1 Respuestas

¿No quieres simplemente hacer esto?

    $("#testList").append('<li>item 3</li>')

Or

    function makeObject(selector) {
         $(selector).append('<li>item 3</li>')
    }

Respondido 28 Jul 12, 17:07

Estoy buscando evitar el primer método que sugiere porque quiero que este código sea reutilizable para listViews asociados con diferentes selectores. Por lo que puedo decir, la segunda sugerencia es lo mismo que pasar una cadena y construir el selector en la función llamada, que también espero evitar. - Ben Pearce

La segunda solución sería la que elegir, pero cámbiela para poder pasar listitems. He agregado este jsfiddle ejemplo para que lo mires. Es totalmente reutilizable. Esta solución tiene en cuenta que ya tiene una lista desordenada en su html según su html en su pregunta. Espero que ayude - jjay225

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.