Re: [jQuery] Re: Extracting content from a div?

2010-01-11 Thread John Arrowwood
If the html is in a string, e.g. 's':

$(s).html() would return everything inside the outer div.

If it includes more than just that error, you can do something like:

$(s).find('div.error').html()

On Mon, Jan 11, 2010 at 6:42 AM, youradds andy.ne...@gmail.com wrote:

 Hi,

 Thanks for the reply. However, your code only seems to be any good
 with the actual page content you are on, not the values of a string?
 Remember, this data is coming through as a string (as a response from
 a jQuery .post() function, so the returned HTML then holds errors
 which may have occured - and I need to pick up on those :))

 TIA

 Andy



 On Jan 9, 11:09 pm, Leonardo Balter leonardo.bal...@gmail.com wrote:
  2010/1/9 youradds andy.ne...@gmail.com
 
 
 
   Hi,
 
   Thanks. Ok, I have this string (for example):
 
   html
   head/head
   body
 
   bit of other junk here, and maybe other divs and stuff
 
  div class=error
  ul
  liGast Email der Rezension
   kann nicht den Wert 'undefined'
  speichern./li
  /ul
  /div
 
   some junk here
 
   /body
   /html
 
   So how exactly would I extract that from a string?
 
   TIA :)
 
   Andy
 
   On Jan 9, 1:32 pm, Leonardo Balter leonardo.bal...@gmail.com wrote:
And you can simply use .text() method. This will return you only the
 text
inside your selected element.
 
Do you also need tips on getting the child elements on that div?
 
--
At,
Leo Balterhttp://leobalter.net
Blog técnico:http://blog.leobalter.net
 
  Based on jquery documentation:
 
  First, you can define your selectors, it's the easier way if you already
  work with CSSs:
 
  http://docs.jquery.com/Selectors
 
  You can use something like: $('.error  ul  li').text(); to match all
 li's
  inside the element with class set to 'error' (the . referees a element
 using
  class name right after the dot).
 
  You can also use $('.error ul li').text() to get each li descending
 from a
  ul than from a element with a class named 'error'. In our .text() method
  this won't make much diference than using the first selector.
 
  Now let's try some jquery methods without complicating our basic
 selector:
 
  We have the .find() and .children() methods
 
  From now I'm adapting the text from jquery documentation to our example:
 
  In most cases two selections made with and without find() are
 equivalent,
  such as $('.error').find('li') and $('.error ul li'). However, using a
  selector filter may lead to unexpected results:
  $('.error').find('li:first').length may be  1, (whereas $('.error
  li:first').length will never be  1) as there is an implicit each() done
  within find().
 
  In other words: you can try to select the first li of all div with the
 class
  attribute named 'error'.
 
  Now the .children(), this method will return all the immediate
 descendants
  elements within the selected element.
 
  Example: $('.error').children('ul').children('li') this will return
 exactly
  the directly children of the .error! .find() would return all
 descendants,
  not only the immediate ones.
 
  As said in the jquery documentation, it's important to refrain here:
 while
  .children() returns only the immediate descendants, .parents() will look
 at
  all ancestors.
 
  That's all,
 
  Have a good day.
 
  --
  At,
  Leo Balterhttp://leobalter.net
  Blog técnico:http://blog.leobalter.net




-- 
John Arrowwood
John (at) Irie (dash) Inc (dot) com
John (at) Arrowwood Photography (dot) com
John (at) Hanlons Razor (dot) com
--
http://www.irie-inc.com/
http://arrowwood.blogspot.com/


Re: [jQuery] Re: Extracting content from a div?

2010-01-09 Thread Leonardo Balter
2010/1/9 youradds andy.ne...@gmail.com

 Hi,

 Thanks. Ok, I have this string (for example):

 html
 head/head
 body


 bit of other junk here, and maybe other divs and stuff

div class=error
ul
liGast Email der Rezension
 kann nicht den Wert 'undefined'
speichern./li
/ul
/div

 some junk here

 /body
 /html

 So how exactly would I extract that from a string?

 TIA :)

 Andy


 On Jan 9, 1:32 pm, Leonardo Balter leonardo.bal...@gmail.com wrote:
  And you can simply use .text() method. This will return you only the text
  inside your selected element.
 
  Do you also need tips on getting the child elements on that div?
 
  --
  At,
  Leo Balterhttp://leobalter.net
  Blog técnico:http://blog.leobalter.net


Based on jquery documentation:

First, you can define your selectors, it's the easier way if you already
work with CSSs:

http://docs.jquery.com/Selectors

You can use something like: $('.error  ul  li').text(); to match all li's
inside the element with class set to 'error' (the . referees a element using
class name right after the dot).

You can also use $('.error ul li').text() to get each li descending from a
ul than from a element with a class named 'error'. In our .text() method
this won't make much diference than using the first selector.

Now let's try some jquery methods without complicating our basic selector:

We have the .find() and .children() methods

From now I'm adapting the text from jquery documentation to our example:

In most cases two selections made with and without find() are equivalent,
such as $('.error').find('li') and $('.error ul li'). However, using a
selector filter may lead to unexpected results:
$('.error').find('li:first').length may be  1, (whereas $('.error
li:first').length will never be  1) as there is an implicit each() done
within find().

In other words: you can try to select the first li of all div with the class
attribute named 'error'.

Now the .children(), this method will return all the immediate descendants
elements within the selected element.

Example: $('.error').children('ul').children('li') this will return exactly
the directly children of the .error! .find() would return all descendants,
not only the immediate ones.

As said in the jquery documentation, it's important to refrain here: while
.children() returns only the immediate descendants, .parents() will look at
all ancestors.

That's all,

Have a good day.



-- 
At,
Leo Balter
http://leobalter.net
Blog técnico: http://blog.leobalter.net