最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

JavaScript Split & jQuery .val() can I chain them? - Stack Overflow

programmeradmin1浏览0评论

Here's a very simple question... can I add/chain the JS method .split() to jQuery's .val() method? For example...

var myNewArray =  $("#myString").val().split(",");

I seem to get $("#myString").val().split is not a function in Firebug? I thought I could chain my JS and jQuery methods, perhaps I was wrong?

Thanks

Here's a very simple question... can I add/chain the JS method .split() to jQuery's .val() method? For example...

var myNewArray =  $("#myString").val().split(",");

I seem to get $("#myString").val().split is not a function in Firebug? I thought I could chain my JS and jQuery methods, perhaps I was wrong?

Thanks

Share Improve this question edited Apr 18, 2012 at 12:10 noob 9,2224 gold badges39 silver badges65 bronze badges asked Apr 18, 2012 at 12:06 Mike SavMike Sav 15.3k31 gold badges102 silver badges150 bronze badges 7
  • 2 That depends on what $("#myString").val() returns which in return depends on what the element with ID myString is. If the return value is a string, then of course yes. If it is an array, then no. – Felix Kling Commented Apr 18, 2012 at 12:10
  • 3 What kind of HTML element are you doing .val() on? The behaviour of .val() may vary. Specifically it may return null for a <select> that allows multiple selections if there are no selected options. – Christoffer Commented Apr 18, 2012 at 12:10
  • So we#re saying I should check that $("#myString").val() isn't a null falsy (I should check it isn't null before splitting). – Mike Sav Commented Apr 18, 2012 at 12:12
  • For me, your code works fine. See demo jsfiddle/dwF9t – Snake Eyes Commented Apr 18, 2012 at 12:12
  • prof jsfiddle/eD75c/1 – Yorgo Commented Apr 18, 2012 at 12:13
 |  Show 2 more ments

4 Answers 4

Reset to default 2

Why don't you have a look at the documentation? It says:

Returns: String, Number, Array

So you can use .split() in 30% (to be more precise: 33.33...%) of the cases. It depends on which element you are using .val() on.

So the answer to your question is: It depends.

yes you can the val() return a string so its not jQuery when chaining after that , check the jquery refrence , and about chaining jquery with javascript the answer is no in most cases , because most jquery methods returns a jquery object not a DOM element or primitive javascript type , but in this case your returning a string , so everything should be fine

Perhaps your selector can't find an element and it returns an empty jQuery object. When you call val() method on this object you'll get undefined.

You can use .val().split(","). But I have question what is in #myString. If it is label then you have to write like this :

$(#myString).text().split(" ");
发布评论

评论列表(0)

  1. 暂无评论