I am attempting to use jQuery to change some content which comes through from an AJAX however it can't appear to gain access to this content for whatever reason. I am still pretty new at jQuery so I am unsure where it is going wrong yet and was wishing someone here could point me within the right direction.

All the code is situated on GitHub here https://github.com/Ryan-Myers/WordPress-Survey-Plugin/blob/master/survey-js.php

However the relevant code is the following (This really is a part of a wordpress wordpress plugin btw):

//Add a new question to the passed survey
function add_question(survey_id) {
    var data = {
        action: 'survey_add_question_ajax',
        security: '<?php echo wp_create_nonce("survey_add_question_nonce"); ?>',
        survey: survey_id
    };

    jQuery.post(ajaxurl, data, function(response) {
        jQuery('#survey-admin-page').html(response);
        jQuery('#survey-questions-table').slideUp();
        jQuery('#survey-add-question').slideDown();
    });

    //FAILS HERE
    jQuery('#survey-add-question').ready(function(){
        //Default to hiding the question setup until they select a question type.
        jQuery('#questionsetup').hide();
        jQuery('#save_question').attr('onclick', 'submit_question('+survey_id+')');

        //Testing to see if it will return a usable value, which it doesn't.
        alert(jQuery('#save_question').attr('onclick'));
    });
}

$.ready does not work like this: http://api.jquery.com/ready/

The .ready() method are only able to be known as on the jQuery object matching the present document, therefore the selector could be overlooked.

You normally utilize it to understand once the DOM is prepared after which start performing code that's determined by the DOM.

You may either add the block of code that is not trying to the callback of $.publish, following the slideDown, or give a callback to slideDown, shoots following the slideDown is done: http://api.jquery.com/slideDown/

Is #save_question loaded dynamically ? Is the fact that why your using jQuery('#survey-add-question').ready().

for instance

$('#save_question').live("click", function() {
   submit_question(survey_id);
});

If that's the case you might want to take a look at jQuery.live

If you want to wait for a publish to fininsh before you run your code place your code within the jQuery.publish function

jQuery.post(ajaxurl, data, function(response) {
       // code in here will be called once the response is returned from AJAX

    });