-2

I have two data attribute and i want to grab the value of the data-attribute.

<div class="message" data-error-message="password reset <p><b>The e-mail address you entered does not exist.</b><br></p>
<p>Check if you entered email correctly or&nbsp;<a href=www.gmail.com target="target">create a new account</a>.</p></div>

<div  data-error-message="email You can’t leave this field empty!"></div>

Output should be = password reset The e-mail address you entered does not exist , email You can’t leave this field empty.

var msg = jQuery('[data-error-message]').map(function() {
   return jQuery(this).data('error-message').replace(/<[^>]+>/g, '').replace(/(\r\n|\n|\r)/gm,"").replace("&nbsp;","").trim().split('.').join(' ');
}).get();
var msg = msg.join(',')
console.log(msg)
sonali
  • 1

1 Answers1

0

You can create an in-memory node and extract its text.

var msg = jQuery('[data-error-message]').map(function() {
  var error = jQuery(this)
    .data('error-message')
    .replace(/\n|\r/g,'')
    .trim()
    .split('.')
    .join(' '),
    inmemory = $('<div/>', {
      html: error
    });
  return inmemory.text();
}).get();

var msg = msg.join(',')
console.log(msg)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="message" data-error-message="password reset <p><b>The e-mail address you entered does not exist.</b><br></p>
<p>Check if you entered email correctly or&nbsp;<a href=www.gmail.com target=target>create a new account</a>.</p>"></div>

<div data-error-message="email You can’t leave this field empty!"></div>
Gabriele Petrioli
  • 191,379
  • 34
  • 261
  • 317